2010-01-07 59 views
1

在我看来,我为用户提供的任何输入方法都需要一些详细的审查,但我从未见过有人实施过所有输入必须通过的单一验证集。每个字段的基本验证

在用户输入的每个字段中是否存在一些基本验证?为了简单起见,我们只谈谈文本框。

您是否添加了任何代码来监视控制字符?

字符串长度限制?

+0

我现在就给它一些时间,但听起来像一般的观点是,没有一个适合所有使用的验证器。尽管如此,我很想听到更多意见。 – JoshBaltzell 2010-01-07 21:51:33

回答

2

在用户输入的每个字段中是否存在一些基本验证?

一般来说,没有。但是,某些特定的应用可能在该应用内具有该要求,例如应用中的所有文本字段限制为255个字符。或者一个应用程序可能会有某些种类共享公共验证要求的输入。例如,你可能会将你的文本投入只是几个类型:自由形式,货币,日期等

,你可以在这些情况下做的就是实现自定义控件用户什么控制那套具有输入本身的每种输入的验证逻辑。然后,只需在表单上放置正确的控件,验证逻辑就会遵循它。

0

TextBox.MaxLength,TextBox.Text.Contains,aspValidators等

我不知道,如果这是响应你要找的那种,是你承担了更多的最佳做法事代码示例?

+0

只是一个最佳实践就足够了,但代码示例将是不可思议的。 – JoshBaltzell 2010-01-07 21:49:12

1

每个输入都是不同的。这取决于你的程序。有时候字段是可选的,有时它们是必需的。如果可选字段填充某些字段是必需的。这一切都取决于你的应用程序....

-1

我会简单地使用正则表达式

例如(在Perl的正则表达式的例子)

/^[a-zA-Z]+$/ # non-blank, a to z only 
/^[a-zA-Z]{3,10}$/ # a to z, 3 to 10 characters long 
/^(\d-){2}-\d$/ # dd-mm-yy or similar format 
+0

我会建议不要这种方法。大多数人在没有必要的时候都会执行正则表达式,并且有更简单的方法来执行日期检查等操作。 IE创建一个日历小部件。该长度可以通过对字符串对象进行简单的文本长度调用来处理。只需0.02美分 – Woot4Moo 2010-01-07 21:31:07

+0

加上asp.net RegularExpressionValidator将始终验证空白字段是否正确,即使RegEx需要多个字符。 – ristonj 2010-01-07 21:39:20

+0

我知道通常有替代解决方案,但正则表达式通常是对输入执行通用检查的好方法(请注意,虽然这些只是简单的示例 - 我不会建议在任何示例上实际使用简单的示例)。 – ternaryOperator 2010-01-07 22:30:33

3

一个的CustomValidator可以很容易地进行编程,以验证页面的每一个领域,所以如果有一个总体的验证要求,这将是我会用什么。

不幸的是,在我的经验中,验证永远不会是“一刀切”。一般而言,验证直接反映了您的业务逻辑,并且每个领域都将带来独特的业务需求。