Cookbook 为 2.3 版引入了停用表单强制验证的可能性。或者至少我是这样理解的:引用:来自http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html
" 2.3 版中的新功能。
从 2.3 开始,HTML5 required 属性也将根据验证规则添加到输入中。您可以在选项数组中显式设置必需的键以覆盖它的字段。要跳过整个表单的浏览器验证触发,您可以为使用 FormHelper::submit() 生成的输入按钮设置选项 'formnovalidate' => true 或在 FormHelper::create() 的选项中设置'novalidate' => true。 "
在我的情况下,我从这个模型中搜索,当然用户不需要填写所有必填字段,例如添加数据集。所以我想停用我的搜索表单的验证。
我尝试了所有三种变体,但没有看到任何结果:在我的搜索表单中,创建的必填字段仍然是必填的。
我所做的那些尝试:
第一次尝试:
echo $this->Form->create('Partner', array('action' => 'search', 'novalidate' => true));
第二次尝试:
echo $this->Form->input('name',
array('required' => false, 'value' => $this->Session->read('Searchparameter.name'))
);
第三次尝试:
$this->Form->submit('Submit', array('formnovalidate' => true));
echo $this->Form->end();
变化:
echo $this->Form->end(__('Submit'), array('formnovalidate' => true));
我理解错了什么?顺便说一句:我确实停用了缓存,所以这不应该是问题。
当然,我仍然可以使用旧的解决方法进行此验证,但是当 2.3 提供此选项时,我很乐意使用它。
灾难简