在 MVC2 中禁用表单验证
是否可以通过编程方式禁用 MVC2 中的表单验证?
我希望有某种命令可以放入自定义 ActionMethodSelectorAttribute 中,从而可以在我想要禁用表单验证的位置添加 ActionResults 前缀。
原因是我有一个带有多个按钮的表单,一个按钮将一个新行添加到模型的子对象中,从而在表单上创建一个新行。
这工作正常,但每次按下“添加”时都会触发表单验证,因此新字段会在用户有机会输入数据之前标记验证错误。
Is it possible to programatically disable form validation in MVC2?
I'm hoping there is some kind of command that I can put in a custom ActionMethodSelectorAttribute, making it possible to prefix ActionResults where I want form validation disabled.
The reason for this is that I have a form with multiple buttons, one button adds a new row to a child object of the model - which consequently creates a new row on the form.
This works fine, but validation is fired for the form each time "add" is pressed, and so the new fields flag up validation errors before the user has a chance to enter data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了一个替代解决方案。
我没有使用多个表单按钮,而是使用了一个自定义 html 帮助器来生成“添加”链接。
该帮助器将当前模型放置在 TempData 中并生成一个指向 Add/{id} 的链接。
我不确定这是最干净的解决方案,但它允许在不触发验证的情况下添加子元素。为了稍微整理一下,我指定了如下形式的表单:
Html.BeginForm(view,controller, new { id = Model.ID })
I've found an alternative solution to this.
Rather than use multiple form buttons, I've used a custom html helper which produces a "Add" link.
This helper places the current Model in TempData and produces a Link to Add/{id}.
I'm not sure this is the cleanest solution, but it allows child elements to be added without validation firing. To tidy things up a bit, I specified the form as such:
Html.BeginForm(view, controller, new { id = Model.ID })