14

継承したこのバリデーターフォームコードがあり、このエラーが発生します。

$.validator.methods[method] is undefined 

そしてその下にそれが表示されています

'maxlength:$.validator.format("Please enter no more than {0} characters.")'

スペルミスやメソッドが呼び出されている可能性があることを読みましたが、そこにはありません。しかし、それを見ることができません..リモートデータ要素について読んでも問題を引き起こしている可能性がありますが、それを取り出すと壊れます。

編集:私はこの行に圧縮されたjsコードとエラーポイントをアップロードしていません

var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters );

コード:

$(document).ready(function(){
    $("#regForm").validate({
        rules:{
            confirmemailaddress: {
                equalTo: "#emailaddress" 
            },
            password: {
                password: "#username"
            },              
            adminpassword: {
                adminpassword: "#adminusrname"
            },              
            retypepassword: {
                equalTo: "#password" 
            },
            retypenewpassword: {
                equalTo: "#newpassword" 
            },
            retypeadminpassword: {
                equalTo: "#adminpassword" 
            },
            interest2: {
                notEqualTo: "#interest"
            },
            retypenewadminpassword: {
                equalTo: "#newadminpassword" 
            },
            emailaddress: {             
                remote: {
                    url: $("#validationUrl").val(),
                    type: "post",
                    data: {
                          emailaddress: function() {
                            return $("#emailaddress").val();
                          },
                          registrationtype: function() {
                            return $("#registrationtype").val();
                          },
                          userctx: function() {
                             return $("#userctx").val();
                          },                                                                                          
                          identityid: function() {
                             return $("#identityid").val();
                          }                                                                                          
                     }
                }
            },
            username: {                
                remote: {
                    url: $("#validationUrl").val(),
                    type: "post",
                    data: {
                          username: function() {
                            return $("#username").val();
                          },                            
                          registrationtype: function() {
                             return $("#registrationtype").val();
                          },
                          userctx: function() {
                             return $("#userctx").val();
                          }                                                            
                     }
                }
            },
            adminusrname: { 
                notEqualTo: "#username",                 
                remote: {
                    url: $("#validationUrl").val(),
                    type: "post",
                    data: {
                          username: function() {
                            return $("#adminusrname").val();
                          },                            
                          registrationtype: function() {
                             return $("#registrationtype").val();
                          },
                          userctx: function() {
                           return $("#userctx").val();
                          }                                                            
                    }
                }                   
            },
            oldauthusername: {                
                remote: {
                    url: $("#validationUrl").val(),
                    type: "post",
                    data: {
                          username: function() {
                            return $("#oldauthusername").val();
                          },                            
                          registrationtype: function() {
                             return $("#registrationtype").val();
                          },
                          userctx: function() {
                             return $("#userctx").val();
                          }                                                            
                     }
                }
            }
        },
         messages: {
             instname:{          
                required: "Please specify the name of your institution"
              },
              firstname:{
                required: "Please specify your First Name",
                minlength: jQuery.format("At least {0} characters required!")
              },
             lastname:{
                required: "Please specify your Name",
                minlength: jQuery.format("At least {0} characters required!")
             },          
             interest:{
                required: "Please choose an interest area"
             },          
             interest2:{
                required: "Please choose a second interest area",
                notEqualTo: "Please choose a different interest area to the above"
             },          
             emailaddress:{
                 required: "We need your Email Address to contact you",
                 email: "Your Email Address must be in the format name@domain.com",
                 remote: jQuery.format("{0} is already in use") 
            },
            confirmemailaddress:{
                 required: "Please confirm your Email Address",
                 email: "Your Email Address must be in the format name@domain.com",
                 equalTo: "Please enter the same Email Address as above" 
            },
            username: {
                required: "Please specify your User Name",
                minlength: jQuery.format("At least {0} characters required!"),
                remote: jQuery.format("{0} is already in use") 
            },
            oldauthusername: {
                required: "Please specify your User Name",
                minlength: jQuery.format("At least {0} characters required!"),
                remote: jQuery.format("{0} is already in use") 
            },
            password: {
                required: "Please specify your Password",
                minlength: jQuery.format("At least {0} characters required!")
            },
            retypepassword: {
                required: "Please retype your Password",
                minlength: jQuery.format("At least {0} characters required!"),
                equalTo: "Enter the same password as above" 
            },
            adminusrname: {
                required: "Please specify your User Name",
                minlength: jQuery.format("At least {0} characters required!"),
                remote: jQuery.format("{0} is already in use"), 
                notEqualTo: "Your username must be different to the institution username" 
            },
            adminpassword: {
                required: "Please specify your Password",
                minlength: jQuery.format("At least {0} characters required!")
            },
            retypeadminpassword: {
                required: "Please retype your Password",
                minlength: jQuery.format("At least {0} characters required!"),
                equalTo: "Enter the same Password as above" 
            },              
            retypenewpassword: {
                required: "Please retype your New Password",
                minlength: jQuery.format("At least {0} characters required!"),
                equalTo: "Enter the same password as above" 
            },
            termsandconditions: {
                required: "Please tick the checkbox to confirm that you have read and agree to the terms and conditions before proceeding."
            }
        }
   });

    $("#ipmarker .asterix").hide();                      
    $("#logincredmarker .asterix").hide();     

    $("#validateContact").click(function() {
        var errors = false;
        var firstError;
        $(".contact .required").each(function() {
            if(!$("#regForm").validate().element(this))
            {
                if (! errors)
                    firstError = $(this);
                errors = true;          
            }
        });
        $(".contact .email").each(function() {
            if(!$("#regForm").validate().element(this))
            {
                if (! errors)
                    firstError = $(this);
                errors = true;          
            }
        });
        if(errors)
        {
            firstError.focus();
            return false;
        }
        else
        {
            $(".contact").hide();
            $(".authentication").show();
            if($('#usrname').is(':checked'))
                $("#usrname").parent("legend").parent("fieldset").find(".regInput").find(".optRequired").addClass("required");  
            $(".regStep2").removeClass("linkDisabled"); 
            scroll(0,0);
            return false;   
        }
    });

    var validateAuthenticationStep = function(){
                    if ( (   $("#oldauthhiddenusername").val()  != null && $("#oldauthhiddenusername").val() != '')
                      || (   $("#oldauthusername").val()        != null && $("#oldauthusername").val()       != '')
                      || (   $("#iprange").val()                != null && $("#iprange").val()               != '')
                      || (   $("#username").val()               != null && $("#username").val()              != '')
                      || (   $("#externalid").val()             != null && $("#externalid").val()            != '')
                       )
        {           
            var errors = false;
            $(".authentication .required, .authentication .checkIP, .authentication .email").each(function() {
                if(!$("#regForm").validate().element(this))
                {
                    if (! errors)
                        firstError = $(this);
                    errors = true;          
                }
            });
            if(errors)
            {
                firstError.focus();
                return false;
            }
            else
                return true;
        }
        else
        {
            $(".authenticationselectionerror").show();
            scroll(0,0);                
        }
    }

    $("#validateAuthentication").click(function() {
        if($("#username").val()!="") {
            $("#password").addClass("required");
            $("#retypepassword").addClass("required");
        }
        else
        {
            $("#password").removeClass("required");
            $("#retypepassword").removeClass("required");
        }

        if (validateAuthenticationStep())
        {
            $(".authentication").hide();
            $(".authenticationAdmin").show();
            $(".regStep3").removeClass("linkDisabled"); 
        }           
        return false;
    });

    $("#validateUpdateAuthentication").click(function() {
        if(validateAuthenticationStep())
            $("#regForm").submit();
        return false;
    });     





});
4

1 に答える 1

29

存在しないものを呼び出しているため、このエラーが発生していますrule...

rules: {
    //other rules,
    interest2: {
        notEqualTo: "#interest"
    },
}

notEqualToこのプラグインに含まれる有効なルールではありません。これを削除するか、プラグインの組み込みメソッドnotEqualToを使用して呼び出される新しいルールを作成する必要があります。このようなもの...addMethod()

jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
    return value != jQuery(param).val();
}, 'Must not be equal to {0}.' );
于 2013-02-15T18:46:04.750 に答える