您现在的位置是:首页 > 正文

yii2 model常用验证规则

2024-02-29 12:21:02阅读 0

yii2 model常用验证规则

//字段必填
[['username'],'required','message'=>'{attribute}不能为空!']
[['username','password'], 'required','message'=>'{attribute}不能为空!']


//去除首尾空白字符
['email', 'trim']
['email', 'filter', 'filter' => 'trim']


//赋予默认值
['age', 'default', 'value' => 18]


//字符串长度
['email', 'string', 'min' => 3, 'max' => 20]
['email', 'string', 'length' => [3, 20]]

// 检查 "username" 是否为长度 4 到 24 之间的字符串
['username', 'string', 'length' => [4, 24]],


// 整数格式
['age', 'integer']

// 浮点数格式
['salary', 'double']

// 数字格式
['temperature', 'number']

// 布尔格式
['isAdmin', 'boolean']

// email格式
['email', 'email']

// 日期格式
['birthday', 'date']

// URL格式
['website', 'url', 'defaultScheme' => 'http']

// 标记 "description" 为安全特性
['description', 'safe'],


//验证码
['verificationCode', 'captcha']

值在数据表中是唯一的
['email', 'unique', 'targetClass' => 'commonmodelsUsers']


//值在数据表中已存在
['email', 'exist','targetClass' => 'commonmodelsUser','filter' => ['status' => User::STATUS_ACTIVE],'message' => 'There is no user with such email.'],

//检查输入的两个值是否一致
['passwordRepeat', 'required']
['passwordRepeat', 'compare', 'compareAttribute' => 'password', 'operator' => '===']


//数值范围检查
['age', 'compare', 'compareValue' => 30, 'operator' => '>=']
['level', 'in', 'range' => [1, 2, 3]]


//使用自定义函数过滤
['email', 'filter', 'filter' => function($value) { // 在此处标准化输入的email return strtolower($value); }]


//文件上传
['textFile', 'file', 'extensions' => ['txt', 'rtf', 'doc'], 'maxSize' => 1024 * 1024 * 1024]


//图片上传
['avatar', 'image', 'extensions'=>['png', 'jpg'],'minWidth'=>100,'maxWidth'=>1000,'minHeight'=>100,'maxHeight'=>1000, ]


//使用正则表达式
['username', 'match', 'pattern' => '/^[a-z]w*$/i']

网站文章

  • 使用API判断网络是否连通(InternetGetConnectedState / IsNetworkAlive)

    / test.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "test.h"#include <Wininet.h>#include <Sensapi.h>#ifdef _DEBUG#define new DEBUG_NEW#undef ...

    2024-02-29 12:20:34
  • CMake生成lib和dll

    set(LIBNAME test)add_library(${LIBNAME} SHARED "test.cpp" "test.h" )set(LIBRARY_OUTPUT_PATH ${PROJEC...

    2024-02-29 12:20:27
  • 解决Android Studio中Refreshing gradle project时间过长的最简单方法

    解决Android Studio中Refreshing gradle project时间过长的最简单方法

    Refreshing gradle project往往出现在Gradle出现更新,需要从墙外的网重新拖下来的前提下。具体可以查看以下文件:/path/to/project/gradle/wrapper/gradle-wrapper.properties 文件内容的最后一行就是这个新版本的下载地址,如: distributionUrl=https\://services.g...

    2024-02-29 12:20:20
  • VC通用控件自适应屏幕类

    文章来源:http://blog.csdn.net/achellies/article/details/4273035注:转载文章仅是为了方便自己保存学习来提升自我。此为我程序中的一个类,本用于WinCE,但在桌面系统上也同样适用!使用方法(在WM_INITDIALOG或WM_CREATE消息中加入):CWindowAnchor::BeginC...

    2024-02-29 12:19:52
  • 京东登录验证 热门推荐

    京东登录验证 热门推荐

    京东登录

    2024-02-29 12:19:43
  • Sentinel的使用

    Sentinel的使用 1. 使用前简单说明 Sentinel 的使用可以分为两个部分: 核心库(Java 客户端):不依赖任何框架/库,能够运行于 Java 7 及以上的版本的运行时环境,同时对 D...

    2024-02-29 12:19:35
  • 支付宝 支付宝开放平台开发助手生成商户私钥/支付宝公钥

    支付宝 支付宝开放平台开发助手生成商户私钥/支付宝公钥

    1、先下载支付宝开放平台开发助手 和官方教程 下载:https://docs.open.alipay.com/291/106097 2、找到生成的公钥、私钥 应用私钥2048.txt也就是商户私钥 3、生成支付宝公钥 我们把“商户应用公钥”到支付宝开放平台,把工具生成的“商户应用公钥”填写进入,保存即可。然后我们可以看到系统会生成对应的“支付宝公钥”,点击“查看支付宝公钥...

    2024-02-29 12:19:07
  • 应用开发流程

    开发思路: 后台接口: 先分析,后设计;开发顺序: 先后台开发,再前台开发写后台服务接口逻辑分析(sql与其他) – 接口设计(url,入参,出参) – controller – service 接口,实现类 – dao – xml前端开发逻辑:bootstrapTable后台分页列表请求 – 渲染分页列表,操作列 – 操作列按钮的点击事件 – 后台接口服务 – 返回值判断,后续逻辑...

    2024-02-29 12:18:59
  • 实时数仓-hologres使用总结

    实时数仓-hologres使用总结

    本期是从Hologres开发、数据同步实战、性能调优、运维等方面对hologres使用进行的全面总结。

    2024-02-29 12:18:52
  • Github火到CSDN, 字节高级架构师亲码出 elasticsearch 实战手册

    Github火到CSDN, 字节高级架构师亲码出 elasticsearch 实战手册

    简单说,Elasticsearch 就是一个分布式的搜索与分析引擎。

    2024-02-29 12:18:46