5

我有一个由具有标准 [必需] 验证的 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; }

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

4

2 回答 2

5

默认情况下启用此功能,但由于您可能没有添加到所需 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>
于 2013-05-12T01:38:18.177 回答
2

Since this is the top answer, when you google for "mvc validation form submit" I have to add another point, which coast me a few hours. When you are using

@Html.ValidationSummary()

in your code, the form get's submited, even if you added these libraries and set

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

in the appSettings property of your webconfig.

于 2014-10-17T06:07:30.210 回答