我正在使用FormController
至create inputs。 Java会出于内部目的频繁地更新特定的输入,我希望将其隐藏。在这种情况下,我不能使用type="hidden"
,而必须使用type="text"
,以便在提交时form tampering prevention不会对其进行检查。
'hidden' => true
选项中添加$this->Form->create()
。但是,使用$this->Form->input()
和$this->Form->control()
'style' => 'display:none'
,但这似乎不是一个干净的CakePHP方式解决方案请告知!
答案 0 :(得分:2)
您可以创建一个隐藏的输入,并在需要时使其不受表单安全性的影响,方法是通过unlockField()
方法解锁该字段:
$this->Form->unlockField('field_name');
echo $this->Form->hidden('field_name');
或通过传递false
或'skip'
作为secure
选项:
echo $this->Form->hidden('field_name', ['secure' => false]);
echo $this->Form->hidden('field_name', [
'secure' => \Cake\View\Helper\FormHelper::SECURE_SKIP
]);
另请参见