没有表单提交的MVC表单验证

时间:2013-05-12 01:18:43

标签: javascript jquery asp.net-mvc validation razor

我有一个标准表格,由MVC模型填充,标准[必需]验证。我想通过AJAX“提交”此表单数据,而不是通过提交,我想利用内置的MVC / razor验证功能。我无法弄清楚如何在不触发表单提交事件的情况下触发客户端验证。

这是我的剃刀标记:

@using (Html.BeginForm()) {
     <span class="label">Team Name:</span>&nbsp;@Html.TextBoxFor(m => m.Name})
     @Html.ValidationMessageFor(m => m.Name)

这是我的模特:

public class Team
{
    [Required(ErrorMessage = "Required")]
    public string Name { get; set; }

这似乎应该是一件容易的事情。它在提交时效果很好。我只需要知道如何手动调用验证方法。

2 个答案:

答案 0 :(得分:4)

默认情况下启用此功能,但由于您可能没有添加指向所需JavaScript库的链接,因此无法使用此功能。

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

答案 1 :(得分:2)

由于这是最佳答案,当您谷歌搜索“mvc验证表单提交”时,我必须添加另一个点,这会让我离开几个小时。当你使用

@Html.ValidationSummary()

在您的代码中,即使您添加了这些库并设置了

,表单也会被提交
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

在您的webconfig的appSettings属性中。