Bonjour,
J'essaie de valider avant envoi un formulaire simple.
J'ai un souci concernent la validation de l'existence dans ma base du mail indiqué.
Je l'ai déjà fait sans problème dans d'autres cas mais là il y a quelque chose qui cloche que je n'arrive pas à déceler;
Mon formulaire :
Mon JS :
Ma fonction checkMail dans le controller
Et enfin mon model :
Merci en avance pour votre aide
J'essaie de valider avant envoi un formulaire simple.
J'ai un souci concernent la validation de l'existence dans ma base du mail indiqué.
Je l'ai déjà fait sans problème dans d'autres cas mais là il y a quelque chose qui cloche que je n'arrive pas à déceler;
Mon formulaire :
<form class="form-horizontal" method="post" name="forget_form" id="forget_form">
<div class="form-group">
<!--<label for="mail" class="col-sm-4 col-form-label">Merci de saisir votre mail pour continuer</label>-->
<input class="col-sm-4 " type="text" name="forget_mail" id="forget_mail" placeholder="Merci de saisir votre mail pour continuer">
</div>
<button class="btn btn-primary" name="sendmail" id="sendmail">Envoyer</button>
</form>
Mon JS :
<script>
$("#forget_form").validate({
rules:
{
forget_mail:
{
required: true,
email: true,
remote:
{
url: "/fr/BO/Users/checkMail",
type: "post",
data:
{
reference: function()
{
return $("#forget_mail").val();
}
}
}//FIN remote
}//FIN Mail
},//FIN RULES
// Specify validation error messages
messages:
{
forget_mail:
{
required: "Merci de renseigner votre mail",
email : "Ce n'est pas un format valide",
remote: "Aucun compte ne correspond à cet email"
}
}//FIN MESSAGES
});//FIN SCRIPT
</script>
Ma fonction checkMail dans le controller
public function checkMail(){
if(!empty($_POST))
{
$searchVal = $_POST['forget_mail'];
$searchRes = $this->User->checkUniq($searchVal);
if($searchRes)
{
echo "false";
}
else
{
echo "true";
}
}
}
Et enfin mon model :
public function checkUniq($data){
return $this->sql("
SELECT *
FROM users
WHERE mail = ?
", [$data]);
}
Merci en avance pour votre aide