我想为我的字段定义验证: 所有数字除了零和两个 我可以定义我的模式吗? 什么意味着$和U,p和其他角色?
'pattern'=>'/^[\p{L}\s,0-9]+$/u'
答案 0 :(得分:1)
过于复杂的正则表达对你没有任何好处。相反,利用not
设置,这有效地为您反转模式:
public function rules() {
return array(
array('field_name','pattern'=>'/^[02]$/','not'=>true),
);
}
答案 1 :(得分:0)
在模型中添加代码
public function rules()
{
return array(
array('field_name','match', 'pattern'=>'/^[^02]+$/u','message'=>'Invalid Number.'),
);
}
答案 2 :(得分:0)
您使用模型规则
public function rules() {
return array(
// your other rules
array('fieldName', 'patternCheck'),
);
}
public function patterCheck($attribute, $params){
$pattern = '/^[\p{L}\s,0-9]+$/u';
preg_match($pattern, $attribute->fieldName, $matches, PREG_OFFSET_CAPTURE);
return $matches;
}
这将验证您的字段