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);
});