当我尝试保存名为$data
的变量时,出现以下错误(使用var_dump打印):
array(2) {
["start_date"]=>
array(1) {
[0]=>
string(31) "This field cannot be left blank"
}
["end_date"]=>
array(1) {
[0]=>
string(31) "This field cannot be left blank"
}
}
但这是我的$data
(也使用var_dump打印):
array(5) {
["name"]=>
string(4) "ASDF"
["start_date"]=>
string(11) "1393/007/25"
["end_date"]=>
string(11) "1393/007/28"
["category"]=>
string(3) "ADF"
["awards"]=>
string(4) "DASF"
}
(我的模型中有一些验证规则)
我做错了什么?!
更新 以下是我的验证规则:
var $validate = array(
'name'=>'notEmpty',
'start_date'=>array(
'rule'=>'/^([1]{1})([0-9]{3})([\/]{1})([0-9]{2})([\/]{1})[0-9]{2}$/'
),
'end_date'=>array(
'rule'=>'/^([1]{1})([0-9]{3})([\/]{1})([0-9]{2})([\/]{1})[0-9]{2}$/'
),
);
答案 0 :(得分:1)
在您的日期,月份部分您有3位数
将[0-9]{2}
更改为[0-9]{3}
您的最终正则表达式应该从
更改'rule'=>'/^([1]{1})([0-9]{3})([\/]{1})([0-9]{2})([\/]{1})[0-9]{2}$/'
到
'rule'=>'/^[1]{1}[0-9]{3}[\/]{1}[0-9]{3}[\/]{1}[0-9]{2}$/'
无论如何,你为什么要把3个数字传到月份?