我有一个简单的ASP.NET MVC表单,一切正常,我唯一想做的就是 选择字段时自动显示验证消息。但要显示消息验证,我需要发送表单。我需要使用ajax吗?谢谢你的帮助。
这是我的表格:
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "TestForm" }))
{
<div>
@Html.LabelFor(m => m.FirstName)
</div>
<div>
@Html.TextBoxFor(m => m.FirstName, new { id = "FirstName" })
@Html.ValidationMessageFor(m => m.FirstName)
</div>
<div>
@Html.LabelFor(m => m.LastName)
</div>
<div>
@Html.TextBoxFor(m => m.LastName, new { id = "LastName" })
@Html.ValidationMessageFor(m => m.LastName)
</div>
...
}
模型
public class TestModel
{
[Required(ErrorMessage = "FirstName should blabla")]
[StringLength(4, ErrorMessage = "You must...", MinimumLength = 1)]
[DataType(DataType.Text)]
[Display(Name = "FirstName")]
public string FirstName { get; set; }
[Required(ErrorMessage = "LastName should blabla")]
[StringLength(4, ErrorMessage = "You must...", MinimumLength = 1)]
[DataType(DataType.Text)]
[Display(Name = "LastName")]
public string LastName { get; set; }
...
}
答案 0 :(得分:1)
是的,您需要采取措施来启用客户端验证。 This blog post讨论使用内置验证器。在@{ Html.EnableClientValidation(); }
调用之前,您需要Html.BeginForm
,或者您可以在Web.config中执行此操作。
This VS Magazine article讨论了注册JavaScript函数和服务器端方法来回答JavaScript请求的过程。虽然它是为MVC 3编写的,但它同样适用于MVC 4。