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'],