zoukankan      html  css  js  c++  java
  • Jquery Validator 增加自定义验证方法

    $(document).ready(function () {
            jQuery.validator.addMethod("namerepeate", function(value, element) {    //用jquery ajax的方法验证客户名称是不是已存在
                var flag = false;
                $.ajax({
                    type:"POST",
                    url:'@Url.Action("TestClientNameIsRepeat", "ClientExt", new { area = "Client" })',
                    async:false,  //同步方法,如果用异步的话,flag永远为1
                    data:{'name':$("#Name").val(),'clientId':$("#ClientID").val()},
                    success: function(data){
                        flag = data.IsNameRepeate;
                    }
                });
                return !flag;
            }, "客户名称已存在于客户数据中,不要重复添加。");
    
            jQuery.validator.addMethod("deptrepeate", function (value, element) {    //用jquery ajax的方法验证客户名称是不是已存在
                var flag = false;
                $.ajax({
                    type: "POST",
                    url: '@Url.Action("TestClientNameIsRepeat", "ClientExt", new { area = "Client" })',
                    async: false,  //同步方法,如果用异步的话,flag永远为1
                    data: { 'name': $("#DeptName").val(), 'clientId': $("#ClientID").val() },
                    success: function (data) {
                        flag = data.IsNameRepeate;
                    }
                });
                return !flag;
            }, "客户名称已存在于客户数据中,不要重复添加。");
    });

    后台检测方法 

     public JsonResult TestClientNameIsRepeat(string name,int clientId = 0)
            {
                if (string.IsNullOrEmpty(name))
                {
                    return Json(new { IsNameRepeate = false }, JsonRequestBehavior.AllowGet);
                }
                return Json(new 
                    {
                        IsNameRepeate = clientRepository.GetClients(p=> p.ClientID != clientId && (p.Name == name ||p.DeptName == name),false).Any()
                    }, JsonRequestBehavior.AllowGet);
            }

    扩展:自定义方法的错误消息,比如查询是谁添加了这条记录,可以参考下面代码

    $.validator.addMethod('PD_password', function (value, element) {
        var len = value.length;
        if(len<6){
            $(element).data('error-msg','长度不能少于6位');
            return false;
        }
        if(len>15){
            $(element).data('error-msg','长度不能大于15位');
            return false;
        }
        return true;
    }, function(params, element) {
        return $(element).data('error-msg');
    });
  • 相关阅读:
    重新温习软件设计之路(4)
    重新温习软件设计之路(3)
    技术判断力
    GIS基本函数类库Delphi代码
    C#文本转语音并保存wav和MP3文件
    多网卡多网关浏览器访问外网
    自信与乐观
    System.Security.SecurityException when writing to Event Log
    4010 An unhandled security exception has occurred. IIS 8.5
    How to make a grid (like graph paper grid) with just css?
  • 原文地址:https://www.cnblogs.com/zyug/p/7698673.html
Copyright © 2011-2022 走看看