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());
        }

Remote验证的一个注意事项https://www.cnblogs.com/bubugao/p/remote.html

原文地址:https://www.cnblogs.com/william-CuiCui0705/p/8085740.html