I am using jquery validation plugin
I added a custom method using addmethod which in turn calls another method to check for valid UK telephone number
here is my code (simplified):
html
<form id="myform">
<label for="field">Required, telephone: </label>
<input class="required" id="field" name="field" />
<br/>
<input type="submit" value="Submit" />
</form>
jquery
$(document).ready(function(){
$("#myform").validate({
rules:{
field:{
required:true;
UKTelNumber:true
}
}
});
});
jQuery.validator.addMethod("UKTelNumber", function(value,element) {
if (!checkUKTelephone (value)) {
alert (telNumberErrors[telNumberErrorNo]);
return false;
}
else {
return true
}
},jQuery.validator.format(telNumberErrors[telNumberErrorNo]));
The function checkUKTelephone
sets the value of var telNumberErrorNo
according to the type of error.
All the error messages are there in an array telNumberErrors
.
Now my requirement is that how to show those error messages that is being alerted now.
passing jQuery.validator.format(telNumberErrors[telNumberErrorNo])
as message (third option) of addMethod is not helping.
I also tried passing only this telNumberErrors[telNumberErrorNo]
but its showing only one message every time i.e message contained in telNumberErrors[0]
plz help me
Thanks in advance
Well I got the solution to my question so I thought to answer my own question that it may help others
just create a function and return the error which is being alerted
var dispError = function(){
return telNumberErrors[telNumberErrorNo];
}
and then pass that function as the third argument to addMethod
jQuery.validator.addMethod("UKTelNumber", function(value,element) {
if (!checkUKTelephone (value)) {
return false;
}
else {
return true
}
},dispError);
then call the validate method
$(document).ready(function(){
$("#myform").validate({
rules:{
field:{
required:true;
UKTelNumber:true
}
}
});
});
Here is my example:
$.validator.addMethod('variable', function (value, element, params) {
if (!/[a-z]/i.test(value[0])) {
return this.optional(element) || false;
} else if (/[~`!#$%\^&*+=\-\[\]\\';.,/(){}|\\":<>\?]/g.test(value)) {
return this.optional(element) || false;
} else {
return this.optional(element) || true;
}
}, function(error, element) {
var value = $(element).val();
if (!/[a-z]/i.test(value[0])) {
return 'First character must be a letter'
}
if (/[~`!#$%\^&*+=\-\[\]\\';.,/(){}|\\":<>\?]/g.test(value)) {
return 'No special characters except: _'
}
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With