【发布时间】:2013-12-02 11:36:50
【问题描述】:
我想为我的字段定义一个验证: 所有数字除了零和二 我可以定义我的模式吗? $ 和 U ,p 和其他字符是什么意思?
'pattern'=>'/^[\p{L}\s,0-9]+$/u'
【问题讨论】:
标签: validation yii pattern-matching
我想为我的字段定义一个验证: 所有数字除了零和二 我可以定义我的模式吗? $ 和 U ,p 和其他字符是什么意思?
'pattern'=>'/^[\p{L}\s,0-9]+$/u'
【问题讨论】:
标签: validation yii pattern-matching
过于复杂的正则表达式对你没有任何好处。相反,请利用 not 设置,它可以有效地为您反转模式:
public function rules() {
return array(
array('field_name','pattern'=>'/^[02]$/','not'=>true),
);
}
【讨论】:
在模型中添加代码
public function rules()
{
return array(
array('field_name','match', 'pattern'=>'/^[^02]+$/u','message'=>'Invalid Number.'),
);
}
【讨论】:
你使用你的模型规则来做
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;
}
这将验证您的字段
【讨论】: