2010-05-19 67 views
5

關於驗證,Javascript vs ASP.NET驗證,哪一個可以選擇?

  1. 被用於同一目的JavaScript和ASP.NET驗證?

  2. 如果是,您推薦哪一個?請提供一個簡單的解釋。

感謝

+7

永遠不要相信客戶端 – 2010-05-19 22:36:55

+4

JavaScript教程,第1課:JavaScript可以被禁用。 – BalusC 2010-05-19 22:40:19

回答

15

在服務器上始終驗證。客戶端驗證是只有使用戶體驗更愉快。這一點很重要,但只有經驗值得重視。驗證客戶端上的驗證並不重要,因爲在客戶端計算機上運行的任何內容都可能被同一個客戶端破壞或繞過。

+4

+1。我本人無法說得更好。 – 2010-05-19 22:35:32

1

你應該總是有服務器端驗證。 Javascript驗證很好,但它與服務器端不一樣。您應始終假定客戶端將能夠向您發送格式錯誤的數據。

+0

HAHA我們同時寫了同樣的答案! :) – 2010-05-19 22:35:04

+0

@Jacob - 我正要說同樣的事情:) – 2010-05-19 22:38:00

3

如果您使用Webforms,那麼ASP.NET驗證控件就是要走的路。它會自動執行客戶端和服務器端驗證。如果你使用vanilla javascript,你會錯過驗證過程中最重要的部分 - 服務器端驗證。

驗證服務器端確實是您可以可靠執行以確保您有良好數據的唯一驗證。客戶端只是爲了讓這個過程更友好一些。

在ASP.NET Webforms中有很多內置的驗證控件,它使驗證更容易,如果遇到需要某些特定的情況,只需使用CustomValidator即可。

+0

+1,這是關鍵所在。鏈接:http://msdn.microsoft.com/en-us/library/yb52a4x0.aspx – 2010-05-19 22:39:58

0

我在...

你應該始終驗證服務器上!

0

做既

如果你想要的東西「發生」當用戶做了「有效」,然後使用一些JavaScript發出請求到服務器之前驗證它(不作要求,除非它是需要)。

一旦用戶做了「有效」的事情,然後執行請求,你再次在服務器端驗證,因爲你'永遠不相信任何人'。