我在CakePHP中创建一个表单,其中有一个只在某些条件下输出的字段。但是,如果未输出,则验证会使其无效。我不确定我哪里做错了?
模型中的验证:
public $validate = array(
'extra_requirement_ok' => array(
'notEmpty' => array(
'rule' => array('comparison', '!=', 0),
//'required' => false,
'message' => 'Must'
),
),
);
视图中的输入:
if ($check) {
echo $this->Form->input('extra_requirement_ok');
}
编辑:
当我检查提交时传递的数据时,extra_requirement_ok
的数组键不存在。但是我创建了一个自定义验证并检查传递给自定义验证函数的数组,它返回extra_requirement_ok = '0'
。是什么给了什么?
答案 0 :(得分:0)
我想出来了。
我在数据库中将0设置为定义的值,因为正在保存数据,默认情况下会生成0并触发验证。现在数据库列设置为NULL,现在没问题。