作為新手,經常會忽略一些容易造成程序出錯的細節,這也是有經驗之人與新手的區別。
經驗豐富的人,會很好的限制和規范用戶的輸入,來提高程序的穩定性和健壯性。
比如,一個簡單的文本域,新手往往覺得能夠輸入和取到值就可以了,往往忘記對數據進行限制。
1、剛開始,我們都會加上一個判斷:
($("#message").val()!=null&&$("#message").val()!=""),認為不為空就是有效值
2、其實,我們只要輸入幾個空格就可以跳過上面的判斷,后來,我們進一步加入限制,對輸入中進行去空格,再判斷
($("#message").val().trim()!=null&&$("#message").val().trim()!=""),這樣有點效果了。
3、但是,這時我們又忽略了數據的長度限制,如果不加以限制,用戶的數據很長或者輸如不規范的數據容易造成程序出錯
這時,我們可以用js限制輸入值得長度,但其實可以加上 maxlength來限制。這樣,就能避免一般的錯誤了。
<div class="inbox-form-group">
<textarea class="inbox-editor inbox-wysihtml5 form-control" maxlength="3000"
id="message" rows="12"></textarea>
</div>
<textarea class="inbox-editor inbox-wysihtml5 form-control" maxlength="3000"
id="message" rows="12"></textarea>
</div>
4、甚至,有時候對於一些特殊字符,如html元素等也要加以轉義。
5、再者,對於按鈕,我們也應該設置不能讓用戶同一請求多次提交,以減少服務器的消耗。
6、對於一些簡單的數據校驗,我們應該盡量在前端進行判斷限制,只把真正需要的數據傳到后台服務中去。