当我为Web表单编写验证代码时,我通常认为字段的内容有效并试图证明它是无效的。假设该字段的内容无效,然后尝试证明它是有效的,这是一种更好的做法吗?
一个非常简单的例子(伪代码):
function isValid( formFieldValue, minLength, maxLength ) {
valid = true;
fieldLength = length( formFieldValue );
if( fieldLength < minLength ) {
valid = false;
}
if( fieldLength > maxLength ) {
valid = false;
}
return valid;
}
假设相关字段无效并相应地修改我的支票会不会更好?
请注意 - 我不是在谈论XSS保护或输入过滤。我们永远不能假设用户输入是安全的。我正在谈论验证表格字段中的最小/最大长度或有效电子邮件地址等内容。
答案 0 :(得分:0)
我认为当你谈论长度等事情时,它没有什么大的区别。但我会假设输入无效并证明它不是,因为我对XSS输入做了同样的事情。
答案 1 :(得分:0)
我认为更好的想法是假设错误的输入并证明其有效性。这更容易。
对于javascript,已经存在多个可以解决您问题的库。
e.g。 Backbone.Forms https://github.com/powmedia/backbone-forms
jQuery validatin插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/
答案 2 :(得分:0)
关键是你的所有条件是否都在运行。
案例1:假设表格有效,然后通过检查例如2个条件来检查其无效性。 案例2。假设一个表格无效,然后检查2条件是否无效?
在这两种情况下,您都必须检查所有要满足的条件,因为您要验证所有字段。因此,无论您认为它在开始时是有效还是无效,我们主要检查是否无效。