如何使用模型验证来确保 CakePHP 中同一模型中的一个字段 >= 另一个字段?

发布于 2024-07-26 05:30:25 字数 553 浏览 3 评论 0原文

我正在尝试验证我的模型,我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坏尐絯 2024-08-02 05:30:25

您可以使用 $this->data['Actividad']['minfield'] 访问“minfield”的值

You can access the value of "minfield" with $this->data['Actividad']['minfield']

死开点丶别碍眼 2024-08-02 05:30:25

你已经对 maxfield 进行了验证,你只需要对 minfield 做同样的事情。 所以你的 $validate 应该是这样的:

var $validate= array(
               'maxfield' => array(
                  'rule'=> 'chkValue',
                  'message'=>'i2'
                ),
               'minfield' => array(
                  'rule'=> 'chkValue',
                  'message'=>'i2'
               )   
        );

顺便说一下。 '规则' => '验证函数名称'。 无需放入数组。

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:

var $validate= array(
               'maxfield' => array(
                  'rule'=> 'chkValue',
                  'message'=>'i2'
                ),
               'minfield' => array(
                  'rule'=> 'chkValue',
                  'message'=>'i2'
               )   
        );

And by the way. 'rule' => 'nameOfValidationFunction'. no need to put in array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文