【问题标题】:ASP.NET MVC3 Client side validation without form tag没有表单标记的 ASP.NET MVC3 客户端验证
【发布时间】:2012-11-23 08:42:44
【问题描述】:

我有一个包含一些输入字段的视图。它们绑定到视图模型。他们也有验证信息。但是视图没有表单标签(Ajax.BeginForm 和 Html.BeginForm 都没有)。

用户输入一些输入,从表中选择(通过复选框)一些行,然后单击一个按钮。我已经在客户端处理了这个按钮的点击事件,并编写了一个 AJAX 调用来将数据发送到服务器。这工作正常,除了客户端验证。由于我没有表单标签,因此忽略了客户端验证。有什么方法可以在不使用表单标签的情况下验证用户输入并在必要时显示错误消息?

【问题讨论】:

  • 为什么忽略表单标签?
  • @deniz 我也遇到了同样的问题,你有没有其他方法可以解决这个问题?
  • 我无法避免使用表单标签。但是我在表单中放置了一个隐藏的输入并将其绑定到我的视图模型中的一个字段(通过@Html.HiddenFor 辅助方法)。每次用户从表中选择一行时,选定的 id 都会附加到这个隐藏字段。因此,当用户单击提交按钮时,我的视图模型被传递给控制器​​,包括包含选定 id 作为逗号分隔字符串的隐藏字段(例如“3,5,8,9”)。然后我在服务器端解析了这个字符串并执行了必要的操作。由于我使用了表单标签,因此也执行了验证。希望对您有所帮助。

标签: ajax asp.net-mvc-3 jquery jquery-validate


【解决方案1】:

不,jquery 验证插件仅适用于表单标签包含的表单。您可以调用两种方法来验证字段

$('some_selector').validate()
$('some_selector').valid()

如果没有表单标签,这些都不会工作

【讨论】:

  • 我执行了一些使用表单发布无法处理的自定义操作。显然,我必须找到一种方法来在表单标签中弄清楚这一点。谢谢你的回答
  • @DenizAlpaslan - 你能解释一下为什么你不能用你页面上的表格来处理它们吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多