Validate form
HTML
<link rel="stylesheet" href="http://pepitodanger.free.fr/maquette_form/css/layout.css">
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<div class="row">
<p class="caption"><img src="http://pepitodanger.free.fr/maquette_form/images/form-requis.png" alt=""> : required</p>
<p class="caption"><img src="http://pepitodanger.free.fr/maquette_form/images/form-erreur.png" alt=""> : error</p>
<p class="caption"><img src="http://pepitodanger.free.fr/maquette_form/images/form-ok.png" alt=""> : valid</p>
</div>
<article class="layout">
<div class="w960p">
<form id="form-general" action="">
<p id="invalid-empty" class="error-message">Please fill in the fields mentioned please :
<img src="http://pepitodanger.free.fr/maquette_form/images/form-erreur.png" alt="Image erreur champs formulaire">
</p>
<div id="form-contact">
<div class="row">
<div id="zone-form-left" class="col w50">
<input type="text" name="form_firstname" id="form_firstname" class="required requis-image" placeholder="Your first name" />
<input type="text" name="form_name" id="form_name" class="required requis-image" placeholder="Your name" />
<input type="text" name="form_email" id="form_email" class="required requis-image" placeholder="Your e-mail adress" />
<input type="text" name="form_telephone" id="form_telephone" class="required requis-image" placeholder="Your phone number" />
</div>
<div id="zone-form-right" class="col w50">
<textarea name="form_message" id="form_message" class="required requis-image" placeholder="Your message"></textarea>
</div>
</div>
<div id="zone-form-validate" class="row txtcenter">
<button...
CSS
p.caption {
float: left;
clear: both;
line-height: 5px !important;
}
img {
vertical-align: middle;
}
.requis-image {
background: #c3c6c7 url(http://pepitodanger.free.fr/maquette_form/images/form-requis.png) no-repeat 98% center;
}
.error-image {
background: #c3c6c7 url(http://pepitodanger.free.fr/maquette_form/images/form-erreur.png) no-repeat 98% center;
}
.ok-image {
background: #c3c6c7 url(http://pepitodanger.free.fr/maquette_form/images/form-ok.png) no-repeat 98% center;
}
span.error-image {
font-size: 0.875em;
padding-top: 2px;
background: none;
}
JavaScript
$('form').find('.error-message').hide();
$.validator.setDefaults({
errorClass: 'error-image',
validClass: 'ok-image',
errorElement: 'span',
errorContainer: '#invalid-empty'
});
$("#form-general").validate({
rules: {
form_firstname: {
minlength: 2,
maxlength: 25,
regex: /^[-a-zéèçàâA-Z)]+$/
},
form_name: {
minlength: 2,
maxlength: 25,
regex: /^[-a-zéèçàâA-Z)]+$/
},
form_email: {
email: true
},
form_telephone: {
digits: true,
minlength: 10,
maxlength: 10
}
},
messages: {
form_firstname: {
required: "",
minlength: "Please enter at least {0} characters",
regex: "Please avoid spaces and special characters"
},
form_name: {
required: "",
minlength: "Please enter at least {0} characters",
regex: "Please avoid spaces and special characters"
},
form_email: {
required: "",
email: "Your email address must be in the format [email protected]"
},
form_telephone: {
required: "",
minlength: "Please enter 10 digits",
maxlength: "Please enter 10 digits",
digits: "Please use only numbers"
},
form_message: ""
},
submitHandler: function(form) {
$('.btn-validate-group').hide();
$('.message-success').fadeIn(1000);
$.ajax({
type: "POST",
url: "../php/traitement.php",
data: $(form).serialize(),
dataType: "text"
});
return false;
}
});
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
});