我想驗證Web窗體上的用戶輸入,例如有效的數字,日期等。哪一個更好的方法來驗證,使用Javascript函數或使用SQL Server中的約束?哪種方法是驗證用戶輸入,數據庫約束或Javascript的更好方法?
我想盡可能地減少代碼,並希望使用SQL Server本身的大部分功能。
我想驗證Web窗體上的用戶輸入,例如有效的數字,日期等。哪一個更好的方法來驗證,使用Javascript函數或使用SQL Server中的約束?哪種方法是驗證用戶輸入,數據庫約束或Javascript的更好方法?
我想盡可能地減少代碼,並希望使用SQL Server本身的大部分功能。
我想這取決於你是否從另一個應用程序寫入數據庫。我是在數據庫級別以及客戶端應用程序級別實施數據限制的主要支持者,因爲您不知道何時需要編寫隨機腳本以批量導入不同來源的數據等。
服務器端驗證應始終完成。 – MStp
因爲:
1)如果您允許Web表單通過無效輸入,則會浪費帶寬。如果你允許數據庫接受無效輸入,它完全錯誤,因爲你冒險破壞數據(例如,當JavaScript驗證的時候)失敗或錯過的東西)
今天感覺慷慨+1每個有效的答案。 – MStp
真的這取決於你在找什麼。如果你想要的東西很快而且非常負載,那麼使用Javascript是最好的方法,因爲沒有往返服務器和客戶端的等待時間。缺點是Javascript可能被禁用。這意味着你也必須在你的ASP中進行驗證。除了關係數據庫所需的數據庫之外,我不會在數據庫中使用約束,因爲這隻會使您的站點中斷。
今天感覺慷慨+1每個有效的答案。 – MStp
的一般規則提交通過網絡形式的數據時,是你必須驗證在服務器端,你還可以驗證客戶端。
如果「SQL與JavaScript」是指服務器與客戶端,SQL是必須的; JavaScript是可選的,但在現代應用程序中您可以驗證以避免往返於服務器。請注意,您可以在數據庫之外執行服務器端驗證,但在許多情況下,用您的話來說,「佔用SQL Server的力量」是適當的。
今天感覺慷慨+1每個有效的答案。 – MStp
我會建議在客戶端和服務器端,因爲潛在的人可能會禁用Javascript並仍然能夠提交無效內容。
我會建議要麼在您的服務器端(在您的操作),然後在您的客戶端JS寫約束;或者您可以查看ASP.Net MVC,它允許您在模型類(.cs)中編寫驗證,然後通過AJAX形式自動執行客戶端驗證。
今天感覺慷慨+1每個有效的答案。 – MStp
+1有效問題 – MStp
這可以做成FAQ嗎? – MStp