2011-12-07 101 views
2

什麼時候進行表單驗證,這是繼續進行的最佳方法?使用HTML5,您可以驗證電子郵件地址和電話號碼,但通常我會用PHP來做到這一點,那麼哪種方法更好?或者我應該驗證HTML5和PHP中的輸入?HTML5驗證與PHP驗證

+5

你應該總是驗證服務器端,其餘主要是針對可用性(你永遠不能依賴於客戶端驗證) – Matthew

+0

驗證與標記語言? –

+1

@webarto:「_Validate with markup language?_」:是的,這是可能的,它是「未來」。有關詳細信息和示例,請參閱[本文](http://www.the-art-of-web.com/html/html5-form-validation/)。 – Tadeck

回答

10

兩者。

經驗法則:
驗證客戶端爲用戶提供更好的體驗。
驗證服務器端以確保100%您收到的數據符合您的期望。

+0

+1好點和短點。 – Tadeck

1

你應該這樣做。客戶端的HTML5和/或JavaScript驗證以保存用戶的頁面加載以及PHP驗證,因爲您永遠無法完全信任客戶端。

0

我更喜歡這兩個。填寫表格以便通知不匹配的內容很不錯。但是你不能依賴JS驗證,因爲它很容易繞過,所以需要服務器端。

3

總是使用服務器端編程語言進行驗證,另外您可以使用客戶端驗證。這樣做的原因是一切都可以修改客戶端,從而繞過任何客戶端驗證。這並不困難,有很多工具可供人們修改HTML和/或Javascript來提交他們想要的任何內容。

黃金法則是,永遠不要相信用戶。預計最糟糕的,併爲此做好準備。你可以應該使用工具,如螢火蟲或其他網頁開發工具來嘗試。

0

答案都是正確的。不是一種偏好(正如一些人所說的),而是一種要求。所有HTML(包括HTML5)都可以通過瀏覽器直接在您的頁面上進行編輯。就像使用Firebug編輯此頁面的標題一樣,您可以編輯HTML輸入驗證器,如果它們沒有服務器端驗證,它將接受您放入的所有內容。只處理HTML5的驗證就像邀請黑客破壞所有的數據庫表一樣。你想要那個嗎?

我發現這個愚蠢的傢伙的網站這最後的評論是一個明顯的例子:http://demosthenes.info/blog/462/Goodbye-JQuery-Validation-HTML5-Form-Errors-With-CSS3

0

大多數專業程序員都驗證輸入字段與服務器端腳本語言的方法。使用PHP服務器端表單驗證比HTML5和客戶端表單驗證在許多方面更好:

  1. HTML5包含自動驗證例如輸入字段幾個屬性:電子郵件,電話等。這些屬性是有限的。而在現實世界中,有很多形式都有一些不能通過HTML5直接驗證的字段。

  2. 如果您在考慮使用javscript作爲第二個選項的客戶端價值,那麼請記住,JavaScript可以在瀏覽器中關閉。所以它最終會影響用戶體驗。所以最好通過像PHP這樣的服務器端腳本lanugae來判斷你的表單。

  3. 對於包含敏感數據的網站,您應該採用上述方法。但