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">
            ...

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);
        alert('valid form - ajax fired');
        /*
        $.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);
});