zend_form -- 如何获取除禁用元素之外的表单值
我想使用 zend_form 来验证和过滤 POST 数据,并且某些表单字段是禁用元素, 但是当我使用 $form->isValid($post) 过滤数据并使用 $form->getValues() 获取过滤后的数据时,它返回所有元素值(包括我不知道的禁用元素值)想)。
例如:
<form method="post" action="">
<input type="text" disabled="disabled" name="account_id" value="123456">
<input type="text" name="name" value="">
<input type="text" name="email" value="">
<input type="text" disabled="disabled" name="created_date" value="2011-06-12">
<input type="text" disabled="disabled" name="created_by" value="admin">
<input type="submit">
</form>
那么有什么方法可以消除禁用元素的值吗? (因为有很多字段和禁用元素,所以我不想手动修剪它们)
谢谢!
i want to use zend_form to validate and filter the POST data,and some form fields are disabled element,
but when i use $form->isValid($post) filtering the data and use $form->getValues() to get the filtered data, it returns all the elements value (including the disabled elements value which i don't want).
such as :
<form method="post" action="">
<input type="text" disabled="disabled" name="account_id" value="123456">
<input type="text" name="name" value="">
<input type="text" name="email" value="">
<input type="text" disabled="disabled" name="created_date" value="2011-06-12">
<input type="text" disabled="disabled" name="created_by" value="admin">
<input type="submit">
</form>
so is there any way to get rid of the disables elements value ?
(because there are many fields and disabled elements ,so i don't want to trim them manually)
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是某种黑客行为。我们获取所有元素并迭代它。当我们看到某个元素被禁用时,我们可以跳过。
希望这有帮助,或者你可以破解它;)。
This is some sort of a hack. We get all elements and iterate through it. When we see an element is disabled we can skip.
Hope this helps, or you can hack on it ;) .
看起来这不是一个错误,而是一个可接受的表单验证工作流程。看到这个: http://framework.zend.com/issues/browse/ZF-6909< /a>
看起来可接受的解决方案/技巧是使用
isValidPartial代替
仅测试帖子中存在的表单字段。禁用的元素不应最终发布。
It looks like this is not a bug, but an accepted workflow for validating forms. see this: http://framework.zend.com/issues/browse/ZF-6909
it looks like the accepted solution/trick is to use
instead of
isValidPartial only tests the form fields that are present in the post. disabled elements should not end up posted.