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

 

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

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

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

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

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

網(wǎng)友評論