Как использовать проверку модели, чтобы убедиться, что одно поле> = другое поле в той же модели в CakePHP? - PullRequest
2 голосов
/ 29 июня 2009

Я пытаюсь проверить свою модель, я использую 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 & minfield. Мне нужно проверить maxfield всегда> = minfield, но я не могу понять, как проверить значение minfield.

Ответы [ 2 ]

1 голос
/ 29 июня 2009

Вы можете получить доступ к значению "minfield" с помощью $ this-> data ['Actividad'] ['minfield']

0 голосов
/ 29 июня 2009

у вас уже есть проверка для maxfield, вам просто нужно сделать то же самое с minfield. поэтому ваш $ validate должен быть таким:

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

И, кстати. 'rule' => 'nameOfValidationFunction'. нет необходимости помещать в массив.

...