當我爲Web表單編寫驗證碼時,我通常假定字段的內容是有效的,並試圖證明它是無效的。假設該字段的內容是無效的,然後試圖證明它是有效的,這是否是一種更好的做法?驗證表單時,我應該假設一個字段有效或無效?
一個非常簡單的例子(僞代碼):
function isValid(formFieldValue, minLength, maxLength) {
valid = true;
fieldLength = length(formFieldValue);
if(fieldLength < minLength) {
valid = false;
}
if(fieldLength > maxLength) {
valid = false;
}
return valid;
}
它會更好地假設有問題的領域是無效的,並相應修改我的支票?
請注意 - 我不是在談論XSS保護或輸入過濾。我們永遠不能假定用戶輸入是安全的。我正在討論如何在表單字段中驗證最小/最大長度或有效的電子郵件地址等內容。