How to add Validation rule in jQuery validation Plugin
1. Load the validate plugins
<script src="js/jquery.validate.js"></script>
2. Now call the jQuery validate method
<script>
$(document).ready(function(){
// Add your own custom method
$("#old_password").rules('add',{remote:"check_password.php",
messages: {remote: "Passwords do not match"}});
$("#confirm_password").rules('add',{equalTo: "#password",
messages: {equalTo: "New password and confirm password do not match"}}); });
controller action
$count=$this->Member->find('count',array(
'conditions'=>array('Member.password'=>md5($_GET['oldPass']),
'Member.id'=>$this->Session->read('Member.id'))));
if($count>0)
{
echo 'true'; die;
} else {
echo 'false'; die;
}
// validate signup form on keyup and submit
$("#UserAddForm").validate({
rules: {
"data[User][firstname]": "required",
"data[User][lastname]": "required",
"data[User][mobile]": {
required: true,
number: true,
minlength: 10
},
"data[User][password]": {
required: true,
loginRegex: true,
minlength: 8
},
"data[User][confirm_passwd]": {
required: true,
minlength: 8,
equalTo: "#UserPassword"
},
"data[User][email]": {
required: true,
email: true,
mailRegex: true,
remote:"email_validate.php",
}
},
messages: {
"data[User][firstname]": "Please enter your firstname",
"data[User][lastname]": "Please enter your lastname",
"data[User][mobile]": {
required: "Please provide a mobile number",
number: "Contains only numberic value",
minlength: "Your mobile number must be at least 10 characters long"
},
"data[User][password]": {
required: "Please provide a password",
loginRegex: "Login format not valid",
minlength: "Your password must be at least 8 characters long"
},
"data[User][confirm_passwd]": {
required: "Please provide a password",
minlength: "Your password must be at least 8 characters long",
equalTo: "Please enter the same password as above"
},
"data[User][email]": {
required: "Please provide a email",
mailRegex: "Please provide work email",
email: "Please enter a valid email address",
remote:"Email already exist. Please check"
}
}
});
// Add your own custom method "mailRegex" used in email validation
$.validator.addMethod("mailRegex", function(value, element) {
return this.optional(element) || /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)(?!rediffmail.com)(?!outlook.com)(?!aol.com)([\w-]+\.)+[\w-]{2,4})?$/i.test(value);
}, "No yahoo, gmail or hotmail emails");
// Add your own custom method "loginRegex" used in password validation
$.validator.addMethod("loginRegex", function(value, element) {
return this.optional(element) || /^(?=\D*\d)(?=[^a-z]*[a-z])[0-9a-z]+$/i.test(value);
}, "Password must contain only letters, numbers");
});
</script>
1. Load the validate plugins
<script src="js/jquery.validate.js"></script>
2. Now call the jQuery validate method
<script>
$(document).ready(function(){
// Add your own custom method
$("#old_password").rules('add',{remote:"check_password.php",
messages: {remote: "Passwords do not match"}});
$("#confirm_password").rules('add',{equalTo: "#password",
messages: {equalTo: "New password and confirm password do not match"}}); });
controller action
$count=$this->Member->find('count',array(
'conditions'=>array('Member.password'=>md5($_GET['oldPass']),
'Member.id'=>$this->Session->read('Member.id'))));
if($count>0)
{
echo 'true'; die;
} else {
echo 'false'; die;
}
// validate signup form on keyup and submit
$("#UserAddForm").validate({
rules: {
"data[User][firstname]": "required",
"data[User][lastname]": "required",
"data[User][mobile]": {
required: true,
number: true,
minlength: 10
},
"data[User][password]": {
required: true,
loginRegex: true,
minlength: 8
},
"data[User][confirm_passwd]": {
required: true,
minlength: 8,
equalTo: "#UserPassword"
},
"data[User][email]": {
required: true,
email: true,
mailRegex: true,
remote:"email_validate.php",
}
},
messages: {
"data[User][firstname]": "Please enter your firstname",
"data[User][lastname]": "Please enter your lastname",
"data[User][mobile]": {
required: "Please provide a mobile number",
number: "Contains only numberic value",
minlength: "Your mobile number must be at least 10 characters long"
},
"data[User][password]": {
required: "Please provide a password",
loginRegex: "Login format not valid",
minlength: "Your password must be at least 8 characters long"
},
"data[User][confirm_passwd]": {
required: "Please provide a password",
minlength: "Your password must be at least 8 characters long",
equalTo: "Please enter the same password as above"
},
"data[User][email]": {
required: "Please provide a email",
mailRegex: "Please provide work email",
email: "Please enter a valid email address",
remote:"Email already exist. Please check"
}
}
});
// Add your own custom method "mailRegex" used in email validation
$.validator.addMethod("mailRegex", function(value, element) {
return this.optional(element) || /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)(?!rediffmail.com)(?!outlook.com)(?!aol.com)([\w-]+\.)+[\w-]{2,4})?$/i.test(value);
}, "No yahoo, gmail or hotmail emails");
// Add your own custom method "loginRegex" used in password validation
$.validator.addMethod("loginRegex", function(value, element) {
return this.optional(element) || /^(?=\D*\d)(?=[^a-z]*[a-z])[0-9a-z]+$/i.test(value);
}, "Password must contain only letters, numbers");
});
</script>
Comments
Post a Comment