CakePHP 2.4.4如果选中复选框,则显示并验证另一个字段

时间:2014-01-14 14:50:17

标签: php validation cakephp

我的问题类似于:cakePHP - form - if checkbox is selected show and validate another field 我有一组表格中的字段:

/* view */
echo $this->Form->input('immagine', array('type' => 'checkbox'));
echo $this->Form->input('url');

和模型,以及验证规则:

/* model */
class Question extends AppModel {
    public $validate = array(
            'url' => array(
                'required_if_checked'=>array(
                    'rule'=>array('requiredIfChecked', 'immagine'),
                    'message'=>'cannot be blank if foo is checked',
                )
            )
        );
    public function requiredIfChecked($check, $associatedField) {
        $value = array_pop($check);
        if ($this->data[$this->alias][$associatedField] && empty($value)) {
            return false;
        }
        else {
            return true;
        }
    }
}

在页面上,url字段被标记为必需,或者勾选复选框。
我试过添加

'required' => false,
'allowEmpty' => true

在模型中,但它只是做了它所说的,忽略了验证规则。

我希望只有勾选'immagine'复选框才能验证'url'字段。

谢谢大家的帮助。

0 个答案:

没有答案