我想用自定义的Bank Account number(123456789)和Routing number(434344343)验证message=>Please enter 12 digit valid account number。(000123456789)
我使用了数字验证器,整数,但没有按照我的预期工作。验证器应该检查数值是数字,也是数字长度。我在这里查看了这些文档,教程-核心验证器
public function rules()
{
return [
[['accountnumber'], 'number', 'min' => 12, 'max'=>12],// not wokred
[['routingnumber'], 'number', 'min' => 9, 'max'=>9], // not wokred
// then I used
[['accountnumber', 'routingnumber', ], 'integer']
]
}有暗示吗?
发布于 2015-12-01 11:38:21
min和max参数用于值,而不是lenght,也许您应该将其保存为字符串。
['accountnumber', 'string', 'length' => [12, 12]并添加一个正则表达式:
['accountnumber', 'match', 'pattern' => '/^[0-9]*$/i']发布于 2015-12-01 12:37:49
试试这个:
public function rules()
{
return [
[['accountnumber'], 'string', 'min' => 12, 'max'=>12, 'message' => "Please enter 12 digit valid account number"],
[['routingnumber'], 'string', 'min' => 9, 'max'=>9],
[['accountnumber', 'routingnumber', ], 'integer'],
]
}发布于 2015-12-01 13:00:37
最小、最大数目验证
public function rules(){
return [
[['accountnumber'],'number','min'=>10],
[['accountnumber'],'number','max'=>100],
[['accountnumber'],'number','min'=>10,'max'=>100],
];
}最小、最大字符串验证
public function rules(){
return [
[['min_string'],'string','min'=>10],
[['max_string'],'string','max'=>10],
[['min_max_string'],'string','min'=>5,'max'=>10],
['min_max_string2', 'string', 'length' => [4, 10]],
];
}自定义验证
public function rules(){
return [
['custom_validation','custom_function_validation', 'values'=>['One', 'Two']],
];
}
public function custom_function_validation($attribute, $params){
// add custom validation
if (!in_array($this->$attribute, $params['values']))
$this->addError($attribute,'Custom Validation Error');
}https://stackoverflow.com/questions/34019387
复制相似问题