在web開發(fā)中必不可少的會遇到表單驗證的問題,為避免數(shù)據(jù)在寫入到數(shù)據(jù)庫時出現(xiàn)異常,一般比較安全的做法是前端會先做一次驗證,通過后把數(shù)據(jù)提交到后端再驗證一次,因為僅僅靠前端驗證是不安全的,有太多的http請求工具可以輕松繞過你的前端驗證把危險數(shù)據(jù)提交到后端,所以,之前不做后端參數(shù)驗證的同學趕快檢查一下你的代碼~別中招了

 

那么,故事就是有關(guān)于后端驗證。

這里舉一個項目中真實的注冊場景,賬號注冊主要包含2個信息:手機號和驗證碼,因為我這里是用webapipost方式從前端拿數(shù)據(jù),所以封裝成了一個MemberRegister對象。以最基礎(chǔ)的非空驗證為例,通常要寫如下代碼:

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

如果還要加上手機號格式驗證,還得再來一個if。一旦要驗證的信息多的話代碼行就會很多,看著很冗余。想著既然做的都是同一件事,那能不能封裝一下減少代碼行?架構(gòu)師allen說可以試一下鏈式編程,也就是類似Jqueryxxxx.attr().css().html().show()這樣,看起來還不錯的樣子,那就干吧。

其實C#里也有類似的用法,比如Linq里面的xxxx.Where().OrderBy().Select()這種,但是這種實際上每次返回的都是不同的對象,然后執(zhí)行對象里的方法