Validation CakePHP验证错误
我试图用CakePHP2.3.8验证输入。当输入通过验证时,工作正常。但是,当它不满足验证要求时,我会得到以下错误Validation CakePHP验证错误,validation,cakephp,Validation,Cakephp,我试图用CakePHP2.3.8验证输入。当输入通过验证时,工作正常。但是,当它不满足验证要求时,我会得到以下错误 Warning (2): vsprintf(): Too few arguments [CORE/Cake/basics.php, line 619] 这将显示在顶部。在应该显示消息的输入周围,它只是一个空白的红色轮廓,就像消息没有传递一样 这是我的确认 'sales_tax' => array( 'valid' => array(
Warning (2): vsprintf(): Too few arguments [CORE/Cake/basics.php, line 619]
这将显示在顶部。在应该显示消息的输入周围,它只是一个空白的红色轮廓,就像消息没有传递一样
这是我的确认
'sales_tax' => array(
'valid' => array(
'rule' => array('confirm_percentage'),
'message' => 'Sales tax must be a percentage (Ex: 4.005%)'
)
),
我也在没有“有效”数组的情况下尝试了此操作,错误仍然存在。以及功能
function confirm_percentage($value){
if(preg_match('/^[0-9]/', $value['sales_tax'])){ //just checking if input starts with number for testing purposes
return true; //no error
}
}
最终,您的验证规则消息将被传递到
vsprintf()
(在\uu d()
中),因此必须将其格式化为兼容
问题是您正在传递一个%
,它是转换说明符identificator,因此vsprintf()
希望您适当地传递其他参数
长话短说,用另一个%
逃出%
:
'message' => 'Sales tax must be a percentage (Ex: 4.005%%)'