如何使用模型验证来确保 CakePHP 中同一模型中的一个字段 >= 另一个字段?
我正在尝试验证我的模型,我使用 CakePHP 1.2.3.8166 和 mysql 5
我的模型定义如下:
<?php
class Actividad extends AppModel {
var $name = 'Actividad';
var $validate = array('maxfield' => array(
'rule'=> array('chkValue'),
'message'=>'i2'
));
function chkValue($data){
return $data["maxfield"]>=$data["minfield"]
}
}
我的表有 2 个字段; maxfield
& 明菲尔德
。 我需要验证 maxfield
始终 >= minfield
但我不知道如何检查 minfield
值。
I am trying to validate my model, I am using CakePHP 1.2.3.8166 and mysql 5
I have my model definied as it:
<?php
class Actividad extends AppModel {
var $name = 'Actividad';
var $validate = array('maxfield' => array(
'rule'=> array('chkValue'),
'message'=>'i2'
));
function chkValue($data){
return $data["maxfield"]>=$data["minfield"]
}
}
My table has 2 fields; maxfield
& minfield
. I need to validate maxfield
always >= minfield
but I can't figure out how to check minfield
value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 $this->data['Actividad']['minfield'] 访问“minfield”的值
You can access the value of "minfield" with $this->data['Actividad']['minfield']
你已经对 maxfield 进行了验证,你只需要对 minfield 做同样的事情。 所以你的 $validate 应该是这样的:
顺便说一下。 '规则' => '验证函数名称'。 无需放入数组。
you already have the validation for maxfield, you just need to do the same thing with the minfield. so your $validate should be like this:
And by the way. 'rule' => 'nameOfValidationFunction'. no need to put in array.