私は今朝からJquery Validation Engineと codeigniter で立ち往生しています。名前、電子メール、パスワードを含むフォームがあります...そして、これらすべてのフィールドをJqueryでチェックし、次にphpでチェックします。
ユーザーが既に使用されている電子メールを入力すると、ツールボックスにエラー メッセージが表示されますが、フォームはまだ送信されています... 電子メール フィールドを空のままにしておくと、送信されません。したがって、データベースをチェックインすると、後で適切なアクションを実行しないと思います(falseを返します...)
これは私の見解ではコードです:
<?php $data_email_signup = array(
'name' => 'email_signup',
'id' => 'email_signup',
validate[required,custom[email],ajax[ajaxEmailCall]]'
);
echo form_input($data_email_signup); ?>
...
...
jQuery(document).ready(function(){
jQuery("#form_signup").validationEngine({
submitHandler: function(form) {
form.submit();
}
});
});
jquery.validationEngine-fr.js
私は持っています:
"ajaxEmailCall": {
"url": "/.../ajaxValidateFieldEmail.php",
"alertTextLoad": "* Please wait",
"alertText": "* Email already used"
},
私が持っているファイルajaxValidateFieldEmail.php
で:
<?php
$validateValue=$_POST['fieldValue'];
$validateId=$_POST['fieldId'];
$arrayToJs = array();
$arrayToJs[0] = $validateId;
$resultats=$connexion->query("SELECT ...");
$count = $resultats->rowCount();
if($count == 0){
$arrayToJs[1] = true;
echo json_encode($arrayToJs);
}
else {
$arrayToJs[1] = false;
echo json_encode($arrayToJs);
}
?>
Firebug は FALSE を返し、既に使用されている電子メールを入力すると、既に使用されている電子メールが表示されますが、フォームが検証される理由がわかりません。
誰にもアイデアがありますか?