美文网首页
Yii2 表单验证 Rules

Yii2 表单验证 Rules

作者: 黏着Leon的小尾巴 | 来源:发表于2019-05-23 16:36 被阅读0次

基础规则

public function rules()
{
    return [
        ['字段名', 'required', 'message' => '提示信息', 'on' => '场景名'], // 必填验证
        ['字段名', 'email', 'message' => '提示信息', 'on' => '场景名'], // 邮箱格式验证
        ['字段名', 'url', 'message' => '提示信息', 'on' => '场景名'], // 网址格式验证
        ['字段名', 'match', 'pattern' => '正则表达式'], // 正则验证
        ['字段名', 'captcha'], // Yii 验证码验证
        ['字段名', 'safe'], // 安全不验证
        ['repassword', 'compare', 'compareAttribue' => 'password'], // 跟某个属性相等
        ['字段名', 'string', 'length' => [6, 18]], // 字符串长度验证,必须在6至18长度以内的
        ['字段名', 'unique'], // 值在本字段中的唯一性验证
        ['字段名', 'integer', 'max' => '上限', 'min' => '下限'], // 整数验证
        ['字段名', 'number', 'max' => '上限', 'min' => '下限'], // 数字验证
        ['字段名', 'double'], // 双精度浮点数验证
        ['字段名', 'in', 'range' => [1, 2, 3]], // 范围验证,必须在1,2,3以内的
        ['字段名', 'filter', 'filter' => 'trim'], // 过滤,删除字段两边的空格
        ['字段名', 'exist', 'targetClass' => '模型名'], // 字段名必须在模型名中存在
        ['字段名', 'file', 'extension' => 'jpg,png', 'maxSize' => 1024 * 1024 * 1024], // 允许上传以jpg,png为后缀,文件最大1024*1024*1024 Byte的文件
        ['字段名', 'validateType'], // 自定义函数验证
    ];
}

备注:
on 参数指定验证规则的场景,用逗号分开不同的场景,如果这个选项未设置,验证规则将应用到任何场景。
例:'on' => 'search',['mobile', 'required', 'message' => '手机号不得为空', 'on'=>'search'],意思是在搜索场景中手机号必填。

自定义规则

// 校验类型
// rule:['type', 'validateType']

/**
 * @param string $attribute,当前正在被验证的属性
 * @param mixed $params,在规则中给定的名为“params”的参数值
 */
public function validateType($attribute, $params)
{
    if (!empty($this->attribute)) {
        return true;
    } else {
        $this->addError($attribute, '类型不存在');
        return false;
    }
}

规则校验

$model = new Model();
if ($model->load(Yii::$app->request->post(), '') && $model->validate()) {
    return true;
else {
    return $model->errors;
}

getErrors():
返回所有属性或单个属性的错误
即返回所有验证中发生的错误

getFirstError():
返回指定属性的第一个错误

getFirstErrors():
返回所有错误属性的第一条

引用

相关文章

  • Yii2 表单验证 Rules

    基础规则 备注:on 参数指定验证规则的场景,用逗号分开不同的场景,如果这个选项未设置,验证规则将应用到任何场景。...

  • Yii2的表单验证之三:Ajax验证

    Yii2具有强大的表单验证功能,能用好表单验证,用户输入就基本掌握了,在这里我和各位聊聊Yii2的Ajax验证器。...

  • Yii2的表单验证之一:客户端验证.

    Yii2具有强大的表单验证功能,能用好表单验证,用户输入就基本掌握了,在这里我和各位聊聊Yii2的客户端验证器。所...

  • Yii2的表单验证之二:服务器端验证

    Yii2具有强大的表单验证功能,能用好表单验证,用户输入就基本掌握了,在这里我和各位聊聊Yii2的服务器端验证器。...

  • 循环数据进行表单验证

    使用表单验证,如需进行表单某个单独元素验证,在表单el-form添加rules规则,相应的元素对应相应的prop值...

  • yii2 form表单 rules()

    https://www.yiichina.com/doc/api/2.0/yii-base-model#rules...

  • php yii2 表单提交CSRF验证

    Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭...

  • Yii2 CSRF

    概述:Yii2 默认全局开启csrf验证的1.配置csrf隐藏表单的input name 2.表单嵌入csrf 3...

  • Yii2 rules验证规则

  • iview中表单验证rules

    场景恢复:文本框内loading显示,点击提交不报错没反应。 问题原因:代码内只有正则未通过时的处理,而没有正则通...

网友评论

      本文标题:Yii2 表单验证 Rules

      本文链接:https://www.haomeiwen.com/subject/vqsbzqtx.html