8
我正在使用Symfony2組件和Doctrine。驗證在服務器端很有效(實體中的約束等)我想要的是通過AJAX驗證表單(我自己定製的不使用Symfony表單組件)。Symfony2 AJAX驗證
是否有任何方法使用驗證組件來驗證使用AJAX的字段?
或者我應該使用jQuery驗證插件?從那以後似乎不合邏輯,將會有2個不同的驗證使用。
我正在使用Symfony2組件和Doctrine。驗證在服務器端很有效(實體中的約束等)我想要的是通過AJAX驗證表單(我自己定製的不使用Symfony表單組件)。Symfony2 AJAX驗證
是否有任何方法使用驗證組件來驗證使用AJAX的字段?
或者我應該使用jQuery驗證插件?從那以後似乎不合邏輯,將會有2個不同的驗證使用。
您可以通過AJAX發送序列化表單,並在服務器端返回包含驗證錯誤的呈現表單。
$.post($form.attr('action'), $form.serialize(), function (response) {
if (response.success) {
// do something on success
} else {
$form.replaceWith(response.form);
}
});
在服務器端,你檢查它是否是一個Ajax請求,並在JSON格式返回response
。
謝謝你的回答@elnur。這也是我的想法,但通過這種方式,我需要提交表單以查看錯誤。我希望它更像jQuery Validate插件,當用戶開始輸入電子郵件時,如果它不正確 - 顯示消息。但我不想在每個按鍵上發出AJAX請求。 –
由於在首頁加載時將所有註冊郵件列表發送給JS是沒有意義的 - 由於安全性和其他問題 - 您必須提出AJAX請求。你應該不是在每次按鍵時都做,而是在一些時間或「變化」事件之後。 –
這很有道理。謝謝! –