模型验证方式一:
1、需要添加引用: using System.Web.Mvc;
2、在模型属性上添加验证: [Remote("CheckIsHaveSerialNo", "MeasureEquipment",ErrorMessage = "出厂编号已存在")]
3、在控制器里面添加验证方法:
???????/// <summary> ???????/// 判断标准器出厂标号是否存在 ???????/// </summary> ???????/// <param name="serialNo"></param> ???????/// <returns></returns> ???????public JsonResult CheckIsHaveSerialNo(string serialNo) ???????{ ???????????//存在返回1,不存在返回0 ???????????//flag为false时将错误信息显示 ???????????var result = RequestHelper.GetObject("api/IsHaveSerialNo", ????$"serialNo={serialNo}"); ???????????var flag = int.Parse(result.ToString())==0; ???????????return Json(flag, JsonRequestBehavior.AllowGet); ???????}
模型验证方式二:
View异步请求:
<div class="form-group"> ???????????@Html.LabelFor(model => model.SerialNo, htmlAttributes: new { @class = "control-label col-md-2" }) ???????????<div class="col-md-10"> ???????????????@Html.EditorFor(model => model.SerialNo, new { htmlAttributes = new { @class = "form-control" } }) ???????????????@Html.ValidationMessageFor(model => model.SerialNo, "", new { @class = "text-danger" }) ???????????????<span id="errorSerialNo" class="text-danger"></span> ???????????</div> ???????</div>$("#SerialNo").blur(function () { ???????????var serialNo = $("#SerialNo").val(); ???????????$.ajax({ ???????????????type: "GET", ???????????????url: "@Url.Action("CreateIsHaveSerialNo", "MeasureEquipment")", ???????????????data: { ???????????????serialNo:serialNo }, ??????????? success: function (data) { ???????????????if (parseInt(data)===1) { ???????????????????$("#errorSerialNo").html("出厂编号已存在"); ???????????????????$("#SerialNo").focus(); ???????????????} else { ???????????????????$("#errorSerialNo").html(""); ???????????????} ???????????} ???????}); ???});
控制器代码:
public ActionResult CreateIsHaveSerialNo(string serialNo) ???????{ ???????????//存在返回1,不存在返回0 ???????????var result = RequestHelper.GetObject("api/CreateIsHaveSerialNo", $"serialNo={serialNo}"); ???????????return Content(result.ToString()); ???????}
MVC Remote属性验证
原文地址:https://www.cnblogs.com/dxqNet/p/10276193.html