我的问题类似于: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'字段。
谢谢大家的帮助。