Affichage messages d'erreur (data) $.ajax
Bonsoir,
J'ai passé la journée entière à ça, à essayer dans tous les sens, à visiter 50 tutoriels, stackoverflow et compagnie pour y arriver mais je galère toujours autant!!...
Ce que je voudrais obtenir, c'est l'affichage des messages d'erreur correspondant à chaque situation, mais au lieu de ça je reçois toujours les mêmes, même si les champs sont bien remplis ou autres conditions...
Je reçois exactement ça :
Citation:
{"success":false,"errors":{"tous_les_champs":"Veuillez renseigner tous les champs
","missing_cv":"Vous devez joindre votre CV
","cgu":"Veuillez lire et accepter les CGU pour continuer
"}}
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| /// verifForm.js
$.ajax ({ type : 'POST',
url : "js/php_candidat_inscription.php",
donnees: $this.serialize(),
success : function(data) { $("#ctn_inscription_error").show("slide", { direction: "left" }, 2000);
var display = $("#ctn_inscription_error #ctn_for_errors .error_message");
display.html('');
display.append(data);
//if ( data.tous_les_champs) {display.append(data.tous_les_champs)}
//if ( data.telephone) {display.append(data.telephone)}
},
error: function(data){ alert(data);
}
}); |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| /************************************************************************/
// MON PHP -- form_processing.php
$valid= true;
$errors = array(); // array to hold validation errors
$data = array(); // array to pass back data
if ( empty($_POST['civilite']) OR empty($_POST['nom']) OR empty /// etc etc etc )
{ $valid=false; $errors['tous_les_champs'] ='Veuillez renseigner tous les champs <br /><br />';}
if (!empty($_POST['telephone']) && !preg_match(" #^\+?[0-9|\.| |-]{6,20}$#", $_POST['telephone']))
{$valid=false; $errors['telephone']= "Le numéro de téléphone n'est pas valide <br /><br />";
}
// etc etc.. toutes mes vérifications php et enfin :
if ( ! empty($errors)) { // if there are items in our errors array, return those errors
$data['success'] = false;
$data['errors'] = $errors;
}
else {
$data['success'] = true;
$data['message'] = $errors;
}
include('array2json.php'); // array2jason parce que je suis chez free et que ça fait bien le job, même si c'est assez obscur pour moi
echo array2json($data) |
Que je remplisse mal ou correctement ou pas du tout le champ téléphone, je n'ai aucun message le concernant.
Si je remplis 100% correctement mon form ou le laisse vide, j'ai toujours le même message qui apparait, c'est à dire celui que j'ai indiqué en bleu...
J'en peux plus, et vous demande un ptit coup de pouce, please .
Merci beaucoup... :) Merci