可选字段上的CakePHP验证错误

时间:2015-09-03 15:44:35

标签: php cakephp

我在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'。是什么给了什么?

1 个答案:

答案 0 :(得分:0)

我想出来了。

我在数据库中将0设置为定义的值,因为正在保存数据,默认情况下会生成0并触发验证。现在数据库列设置为NULL,现在没问题。