我有一个标准表格,由MVC模型填充,标准[必需]验证。我想通过AJAX“提交”此表单数据,而不是通过提交,我想利用内置的MVC / razor验证功能。我无法弄清楚如何在不触发表单提交事件的情况下触发客户端验证。
这是我的剃刀标记:
@using (Html.BeginForm()) {
<span class="label">Team Name:</span> @Html.TextBoxFor(m => m.Name})
@Html.ValidationMessageFor(m => m.Name)
这是我的模特:
public class Team
{
[Required(ErrorMessage = "Required")]
public string Name { get; set; }
这似乎应该是一件容易的事情。它在提交时效果很好。我只需要知道如何手动调用验证方法。
答案 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属性中。