2017-10-29 243 views
-1

我認爲客戶端驗證的唯一好處是它們阻止頁面被重新加載。客戶端驗證和ajax請求

說我有一個ajax函數發送請求到一個php文件。服務器執行驗證,如果發現一些錯誤,則將其返回給客戶端。接收到錯誤消息的ajax然後將它們輸出到瀏覽器。

我讀過一些人在ajax提交之前也會執行客戶端驗證。爲什麼這是必要的,如果我可以從服務器返回數據而不重新加載?不夠Ajax?

+0

許多優秀的問題都會根據專家的經驗產生一定程度的意見,但對這個問題的回答往往幾乎完全基於意見,而不是事實,參考或具體的專業知識。 –

回答

1

Ajax已經足夠,但是你說你有一個很大的表單,它會發布大量的內容,如果有問題,它會在服務器提供你的請求和驗證後失敗。我認爲這是對服務器資源的浪費。所以在這種情況下,最好添加一些客戶端驗證。

+0

這隻有在許多用戶正在使用系統時纔會發生? – morbidCode

+0

另外我的表單包含40個字段。這已經太大了嗎? – morbidCode

1

在客戶端驗證中,您可以通過在瀏覽器級快速響應來提供更好的用戶體驗。當您執行客戶端驗證時,所有用戶輸入在用戶瀏覽器中自行驗證。客戶端驗證不需要往返服務器,因此網絡流量將幫助您的服務器更好地運行。這種類型的驗證在瀏覽器端使用JavaScript,VBScript或HTML5屬性等腳本語言完成。

例如,如果用戶輸入無效的電子郵件格式,則可以在用戶移至下一個字段之前立即顯示錯誤消息,以便用戶在提交表單之前可以更正每個字段。

大多數客戶端驗證取決於JavaScript語言,所以如果用戶關閉JavaScript,它可以輕鬆繞過並向服務器提交危險輸入。所以客戶端驗證不能保護您的應用程序免受您的服務器資源和數據庫的惡意攻擊。

由於兩種驗證方法都有各自的含義,建議服務器端驗證更安全!