Validation 如何使Zend_Form_Element_隐藏标记不可变?

Validation 如何使Zend_Form_Element_隐藏标记不可变?,validation,zend-framework,zend-form,hidden,zend-form-element,Validation,Zend Framework,Zend Form,Hidden,Zend Form Element,我有一个值需要在表单中设置以进行处理,但我不希望用户能够编辑此值。一个隐藏的元素将基本上满足我的需要,但我担心一个聪明的用户可以启用隐藏字段并更改它 隐藏元素上是否有验证器或设置要求提交的表单值与呈现表单时的值相同 我认为setIgnore(true)不适合我的情况,因为在处理表单时,我确实需要Zend_表单来读取该变量 据我所知,setAttrib('readonly',true)也不起作用,因为这只是一个HTML设置,客户端可以轻松覆盖。您不能依赖用户发回的任何数据。即使有一些神奇的方法来控

我有一个值需要在表单中设置以进行处理,但我不希望用户能够编辑此值。一个隐藏的元素将基本上满足我的需要,但我担心一个聪明的用户可以启用隐藏字段并更改它

隐藏元素上是否有验证器或设置要求提交的表单值与呈现表单时的值相同

我认为
setIgnore(true)
不适合我的情况,因为在处理表单时,我确实需要Zend_表单来读取该变量


据我所知,
setAttrib('readonly',true)
也不起作用,因为这只是一个HTML设置,客户端可以轻松覆盖。

您不能依赖用户发回的任何数据。即使有一些神奇的方法来控制表单,如果有人愿意,他们仍然可以伪造一个对你的提交URL的POST请求,并为该字段指定一个不同的值。您的最佳选择可能是将值存储在会话中,或者至少将值存储在会话中,并将其与提交的隐藏字段值进行比较。

我希望Zend Framework具有一些神奇的元素,允许我设置此值(而不是使用会话变量)。我想你是对的,我只需要确保POST'd变量是正确的。