Cakephp 正在验证数据库中不存在的字段

Cakephp 正在验证数据库中不存在的字段,cakephp,Cakephp,我可以对数据库中不存在的字段进行模型验证吗。它不适用于以下代码 模型 。 看法 显示的建议是正确的 可以验证模型中不存在的字段。您的错误是,在模型中,您验证“接受”,而在视图中,该字段称为“同意”。您可以验证数据库中不存在的字段。 e、 g.在注册表中,您可以验证“我接受用户条款”字段,而不将此值保存在数据库中 在代码中,您正在验证“接受”而不是“同意”。事实上,您有两个名称相同的输入(“数据[季节][同意]”),这可能是个问题。这不是问题,因为这涵盖了未选中复选框的情况。如果第一个隐藏字段不

我可以对数据库中不存在的字段进行模型验证吗。它不适用于以下代码

模型

。 看法


显示的建议是正确的

可以验证模型中不存在的字段。您的错误是,在模型中,您验证“接受”,而在视图中,该字段称为“同意”。

您可以验证数据库中不存在的字段。 e、 g.在注册表中,您可以验证“我接受用户条款”字段,而不将此值保存在数据库中


在代码中,您正在验证“接受”而不是“同意”。事实上,您有两个名称相同的输入(
“数据[季节][同意]”
),这可能是个问题。

这不是问题,因为这涵盖了未选中复选框的情况。如果第一个隐藏字段不存在,那么如果该复选框被禁用,它就不会出现在_POST中,这可能会导致问题。谢谢提示Nik。我用复选框字段检查了我的一个cakephp表单,我注意到cakephp创建了那个隐藏字段。我对此一无所知。
'agree' => array(
    'comparison' => array(
            'rule' => array('comparison', 'equal to', 1),
            'message' => 'Accept the Proposal',
            'allowEmpty' => false,
            //'required' => true,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update'  operations 
    ), 
),
<div class="input checkbox">
<input type="hidden" name="data[Season][agree]" id="SeasonAgree_" value="0">
<input type="checkbox" name="data[Season][agree]" value="1" id="SeasonAgree">
<label for="SeasonAgree"></label> Seasons Proposal displayed is correct
</div>