MVC Remote属性验证
模型验证方式一:
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()); }