MVC3 默认的客户端验证,对select 无法验证是否选择有效数据,model上定义的验证只有服务器端才能验证。
而且select 必须带上
@Html.ValidationMessageFor(model=>model.ArtistId) 才会出现错误信息。
mvc 设置model,实现自动验证。
1.设置 Model属性,比如[required]等属性,比如正则等
view页面 要验证的元素name 必须与model中的字段值相对
2.@Html.ValidationMessageFor(model=>model.ArtistId) 才会出现错误信息。
model.ArtistId">.@Html.ValidationMessageFor(model=>model.ArtistId,”错误才显示的信息”).
如果 model中定义类artistid的错误信息,而且view中ValidationMessageFor又定义了错误信息,那么View中定义的错误信息优先。
- <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
- <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
- <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
Ajax helper 中的Ajax.BeginForm 可以ajax post 异步提交数据。
- new AjaxOptions { HttpMethod = "Post", Confirm = "?", OnFailure = "error", OnBegin = "error", OnSuccess = "success", OnComplete = "complete", UpdateTargetId = "test" }
HttpMethod 提交方法 Post 或者 Get
Confrim=”xx” 提交数据之前弹出确认信息,此处可以取消提交.
onbegin=’方法名1’
UpdateTargetId=”HTML元素id”, 服务器返回的内容来更新id的interHtml
有错误,比如服务器端model error个数,或者505错误或者404错误,都会调用此错误。
、、、、、、、、、、、、、、、、、、、、、、、
*默认的action 参数 为 Model a。 则如果提交空数据过来,ModelState.IsValid 是true的。 所以之前应该验证数据是否为空。。。。或者提交的数据是否在某范围之内。
*点击异步链接,返回内容更新元素
//此处view中用get 或者 post 都可以调用
public string GetStatus()
{
return "Status OK at " + DateTime.Now.ToLongTimeString();
}
@Ajax.ActionLink("异步链接", "GetStatus", new AjaxOptions { HttpMethod = "Get", Confirm = "异步链接请求数据", UpdateTargetId = "test" });
miaoshaCeng(recid, “94927819”);