//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”则给出错误
这里的任何建议都会很棒。
由于
答案 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',
);