Yii2中的规则

//设置场景(在model),可以将固定的内容进行增删改查
  public function scenarios()
    {
        return [
            'create' => ['username', 'email', 'password', 'status', 'role','sex','citys','provinces','countrys','mobile_phone'],
            'update' => ['username', 'email', 'status', 'role','sex','citys','provinces','countrys','mobile_phone'],
            'delete' => ['status'],
            'signup' => ['username', 'email', 'password', 'role'],
        ];
    }


另外还有一种:将save的内容改成false,就能把所有的规则过滤掉:

 $storeUser->save(false);

  

Yii2中常用的规则:

//电话匹配
['tel', 'match', 'pattern' => '/^(([0\\+]\\d{2,3}-?)?(0\\d{2,3})-?)?(\\d{7,8})(-(\\d{3,}))?$|(1)[0-9]{10}$/', 'message'=>'请输入固话或11位手机号'],

['mobile_phone', 'required','message' => '手机号码不能为空'],

['mobile_phone', 'filter', 'filter' => 'trim'],

[['mobile_phone'], 'match', 'pattern' => '/^(1(([35][0-9])|(47)|[8][0126789]))\d{8}$/'],

['mobile_phone', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This mobile phone number has already been taken.'],

//网址匹配
['url','url','message'=>'请输入正确的网址'],

//用户名匹配
[['username'], 'match', 'pattern' => '/^[a-z]\w*$/i'],

//用户名独一无二
['username', 'unique', 'targetClass' => '\common\models\User', 'message' => '用户名已存在'],

//用户名的长度在一定长度
['username', 'string', 'min' => 5, 'max' => 255],

 //密码的验证规则
['password', 'required'],

['password', 'string', 'min' => 6],

//email的验证 ['email','email','message' => '您输入的邮箱错误'], ['email','email','unique', 'targetClass' => '\common\models\User', 'message' => '邮箱已经存在'], ['rePassword', 'compare', 'compareAttribute' => 'password'],
posted @ 2015-08-16 22:44  tiandi2050  阅读(267)  评论(0编辑  收藏  举报