javascript - 註冊驗證用哪些交給前端處理哪些交給幕後處理?

來源:互聯網
上載者:User
比如:
1.不讀取資料庫的有效性驗證(是否填寫驗證、密碼長度驗證、郵箱有效性驗證)
2.取資料庫的有效性驗證(使用者名稱重複驗證)
3.密碼重複驗證(應該算第一類吧?)
4.其它未考慮到的...

/* 原來segmentfault有新手問答板塊,於是提問不再害羞了*/

回複內容:

比如:
1.不讀取資料庫的有效性驗證(是否填寫驗證、密碼長度驗證、郵箱有效性驗證)
2.取資料庫的有效性驗證(使用者名稱重複驗證)
3.密碼重複驗證(應該算第一類吧?)
4.其它未考慮到的...

/* 原來segmentfault有新手問答板塊,於是提問不再害羞了*/

一般在前端需要驗證的東西,在後端也必須驗證,因為瀏覽器禁用js後就可以繞過js的驗證了。

前端驗證是為了體驗更好,減少串連請求等。比如,你所說的密碼長度驗證、郵箱有效性驗證這些,在前端就能驗證的東西,沒必要提交到後端去驗證,讓這部分處理交給用戶端處理是能緩解服務端壓力的(對於高並發的網站,效果很明顯)。

那什麼應該放到後端去驗證呢?常見的是與資料庫操作有關的,比如使用者名稱重複驗證、密碼重複驗證,這些必須查詢資料庫才知道的東西。為了更好的體驗,現在一般都是通過ajax對後端發起請求,不重新整理頁面的方式進行驗證(同時可以節省流量)。除了與資料庫操作有關的可能放到後端去驗證,還有一些別的情況也可能放到後端驗證,比如有個欄位的檢查需要藉助一個演算法,不可能把這個演算法的實現寫到js去。

總的來說,堅持一個原則,所有驗證儘可能放到前端去驗證,同時前端驗證的東西後端再驗證一次。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.