-1
當遠程調用返回true時,我需要防止表單提交。我怎樣才能做到這一點?jQuery驗證 - 防止在遠程提交
的JS代碼:
var userForm = $('#user-form');
userForm.validate({
rules : {
email : {
email: true,
remote: {
url: userForm.find('#uniqueUrl').val() + '/isUniqueEmail',
type: 'POST',
data: function(){
return $('#email').val()
},
complete: function(data){
if(data.responseText.trim() == 'true'){
return false;
}
}
}
}
}
});
服務器端:
public function isUniqueEmail()
{
$result = $this->users->isUniqueEmail($this->input->post('email'));
if($result):
echo false;
else:
echo true;
endif;
}
你問它是如何設計的工作完全相反。如果你想阻止提交,你會從服務器發送一個「false」。 ***爲什麼你想要這樣做?來自服務器的「真實」響應應該表明它「通過」了驗證。你真的只是想壓制錯誤信息嗎? – Sparky 2014-09-03 17:08:33
僅供參考,您不需要'data'選項,因爲該字段的值已經默認發送。 – Sparky 2014-09-03 17:09:22
我從服務器返回「真」或「假」作爲字符串(回顯結果)。我應該返回布爾值? – Sasha 2014-09-03 17:11:39