CakePHP数据验证2输入字段

时间:2013-03-23 14:48:04

标签: php html cakephp

    //View

    echo $this->Form->input('adult', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
    echo $this->Form->input('concession', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));

    //Model

    ...

我遇到的问题是,我知道如何编写单个字段的验证但在这里我想将“成人”和“让步”字段进行比较,如果它们的总和小于“1”则给出错误

这里的任何建议都会很棒。

由于

1 个答案:

答案 0 :(得分:4)

您可以在模型上创建自定义验证规则,如下所示;

function atLeastOneSelected($data)
{
    if (empty($this->data[$this->alias]['adult']) && empty($this->data[$this->alias]['concession'])) {
        // both fields are empty
        return false;
    }
    return true;
}

并在您的验证数组中;

public $validate = array(
    'adult' => 'atLeastOneSelected',
    'concession' => 'atLeastOneSelected',
);