Mam ten kod formularz walidator mam dziedziczone które otrzymuję ten błąd:
$.validator.methods[method] is undefined
i mocy, że to widać
'maxlength:$.validator.format("Please enter no more than {0} characters.")'
I przeczytałem, że może to być błąd ortograficzny lub wywoływana metoda, której nie ma. Ale go nie widzę. Nawet przeczytanie o zdalnym elemencie danych może być przyczyną problemu, ale wyszło, że się zepsuł.
edit: Wysłałem sprasowanych js żaden kod błędu i punktów do tej linii
var result = $.validator.methods[method].call(this, element.value.replace(/\r/g, ""), element, rule.parameters);
Kod:
$(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 [email protected]",
remote: jQuery.format("{0} is already in use")
},
confirmemailaddress:{
required: "Please confirm your Email Address",
email: "Your Email Address must be in the format [email protected]",
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;
});
});
'Maksymalna długość: $. Validator.format ("Proszę podać nie więcej niż {0} znaków.")' Gdzie znajdę to? sprawdziłem twój kod i nie widzę go. Czy użyłeś firebuga, aby sprawdzić, które sprawdzanie poprawności faktycznie się nie udaje? – gulty
sprawdź #username i #usrname <- czy powinno tak być? (Nie widzę html, więc nie wiem co wskazałeś gdzie) – gulty
wyglądało na to, że szukałem 'Metody' 'notEqualto', więc dodałem ją ... i naprawiłem jQuery.validator.addMethod ('notEqualTo', function (value, element, param) {return value! = jQuery (param) .val();}, "Nie może być równe {0}."); – Mark