Validation.engine avec AJAX
Bonjour à tous,
J'utilise actuellement le plugin jQuery validation.engine(page off.) qui me permet de vérifier un formulaire trés rapidement et simplement. Je l'ai donc bien installé, il fonctionne très bien, j'ai rajouter mes conditions tout, parfait je dirais presque. Oui mais...
Pour la validation d'un enregistrement client je dois vérifier si celui-ci n'existe pas. J'utilise donc la propiété Ajax de ce plugin, ça fonctionne également, mais sur un seul champ. Si je vérifie uniquement le nom de famille c'est assez simple. Mais vu que plusieurs personnes peuvent avoir le même nom, je souhaite faire les test sur plusieurs champs, et là je sèche complet.
Auriez-vous une idée sur la manière de faire, et déjà est-ce possible avec ce plugin ?
Voici le code :
Formulaire, très basique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <form method="post" action="fournisseur.php" id="formulaireAjout">
<!-- <form method="post" action="ajax/verifFournisseur.php" id="formAjoutFornisseur"> -->
<label for="fournisseur" class="labelObligatoire">Nom fournisseur :</label>
<input class="inputFormulaire validate[required,custom[onlyLetterSp],ajax[ajaxUserCallPhp]]" type="text" name="nom" placeholder="Saissisez vos informations" id="nom">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="adresseFournisseur" class="labelFacultatif">Adresse :</label>
<input class="inputFormulaire" type="text" name="adresse" placeholder="Saissisez vos informations" id="adresse">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="cpFournisseur" class="labelFacultatif">Code postal :</label>
<input class="inputFormulaire validate[required,custom[cp]]" type="text" name="cp" placeholder="Saissisez vos informations" id="cp">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="villeFournisseur" class="labelFacultatif">Ville :</label>
<input class="inputFormulaire validate[optional,custom[onlyLetterSp]]" type="text" name="ville" placeholder="Saissisez vos informations" id="ville">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="telFournisseur" class="labelFacultatif">Téléphone :</label>
<input class="inputFormulaire validate[optional,custom[phone]]" type="text" name="telephone" placeholder="Saissisez vos informations" id="telephone">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="telFournisseur" class="labelFacultatif">Téléphone autre :</label>
<input class="inputFormulaire validate[optional,custom[phone]]" type="text" name="telephone_2" placeholder="Saissisez vos informations" id="telephone_autre">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="portableFournisseur" class="labelFacultatif">Portable :</label>
<input class="inputFormulaire validate[optional,custom[phone]]" type="text" name="portable" placeholder="Saissisez vos informations" id="portable">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="faxFournisseur" class="labelFacultatif">Fax :</label>
<input class="inputFormulaire validate[optional,custom[phone]]" type="text" name="fax" placeholder="Saissisez vos informations" id="fax">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="mailFournisseur" class="labelFacultatif">Contact :</label>
<input class="inputFormulaire validate[optional,custom[email]]" type="text" name="contact" placeholder="Saissisez vos informations" id="contact">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="mailFournisseur" class="labelFacultatif">Mail :</label>
<input class="inputFormulaire validate[optional,custom[email]]" type="text" name="mail" placeholder="Saissisez vos informations" id="mail">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<label for="mailFournisseur" class="labelFacultatif">SIRET :</label>
<input class="inputFormulaire validate[optional,custom[number],length[0,14]]" type="text" name="siret" placeholder="Saissisez vos informations" id="siret">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<div id="btnForm">
<input type="submit" name="btnAjoutFournisseur" value="Enregistrer" class='boutonForm'>
<input type="reset" value="Reinitialiser" class='boutonForm'>
</div>
</form> |
Et voici aprés mon fichier appelé par Ajax jQuery :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?php
// Appel du fichier contenant les fonctions
include_once('../function.php');
// Auto-chargement des classes PHP
spl_autoload_register('chargerClass');
include_once('../class/cnx.php');
include_once('../class/Model.php');
// // Appel de la class Model pour la récupération des informations provenant de la BDD
$R_model = new Model($cnx);
$R_fournisseur = new Fournisseur($cnx);
$validateValue=$_GET['fieldValue'];
$validateId=$_GET['fieldId'];
$validateError= "Le fournisseur existe déjà dans votre BDD";
$validateSuccess= "Ce nom de fournisseur est disponible";
$R_fournisseur->setFiltre('nom = "'.$validateValue.'"');
$R_fournisseur->affFournisseurFiltre();
$result = $R_fournisseur->getNbResult();
/* RETURN VALUE */
$arrayToJs = array();
$arrayToJs[0] = $validateId;
if($result){
$arrayToJs[1] = false;
echo json_encode($arrayToJs);
} else {
$arrayToJs[1] = true;
echo json_encode($arrayToJs); // RETURN ARRAY WITH ERROR
}
?> |
Si j'ai oublié d'ajouter une info désolé.
Par avance merci.