CakePHP自定义验证与错误消息中的变量
发布时间:2020-05-25 09:14:35 所属栏目:PHP 来源:互联网
导读:下午好. 我有一个名为“百分比”字段的模型.所有类似的模型不能将它们的百分比加起来超过100%.在验证期间处理检查. 我需要验证错误消息来说明用户剩余的“房间”百分比.例如,如果所有MyModel已经总共有80%并且用户尝试创建一个百分比为40%的新MyModel,则错
|
下午好. 我有一个名为“百分比”字段的模型.所有类似的模型不能将它们的百分比加起来超过100%.在验证期间处理检查. 我需要验证错误消息来说明用户剩余的“房间”百分比.例如,如果所有MyModel已经总共有80%并且用户尝试创建一个百分比为40%的新MyModel,则错误消息会显示“您的百分比太高.您只剩下20%.” 问题是我不知道如何将变量放在验证错误消息中. 在MyModel.php中: public $validate = array(
'percentage' => array(
'rule' => array('confirmValidPercentage','percentage'),'message' => 'foo','required' => true,),);
public function confirmValidPercentage($data) {
$percentage = floatval($data['percentage']);
$total = 0.00;
$weights = $this->find('all',array('recursive'=>-1));
foreach ($weights as $weight) {
$total += floatval($weight[$this->name]['percentage']);
}
if ($total + $percentage > 100) {
// handle the error variable here
return false;
}
else {
return true;
}
}
我试过了 : $this->validate['percentage']['message'] = 'You have '.(100-$total).'% remaining'; 但此处设置的消息元素不会覆盖原始消息 – 错误消息仍为“foo”.我尝试从$validation数组中删除消息元素,但它默认为父名称,即’percentage’.我试过了: unset($this->validate['percentage']['message']); 在设置验证消息之前,但结果是相同的. 有谁知道如何在验证错误消息中返回变量?非常感谢. 这其实很简单.只返回错误字符串!return 'You have ' . ...; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
