pre*_*dev 6 c# asp.net validation
我想验证只包含数字的字符串.简单验证?我添加了RegularExpressionValidator,ValidationExpression ="/ d +".
看起来没问题 - 但是只输入空格时没有任何验证!甚至许多空间都经过验证.我不要求这是强制性的.
我可以修剪服务器,但不能正常表达做任何事情!
Ahm*_*eed 12
这是设计的,往往会让很多人失望.RegularExpressionValidator不强制字段,并允许它为空并接受空格.\ d +格式是正确的.即使使用^\d + $也会导致允许空格的相同问题.强制它禁止空格的唯一方法是还包括一个RequiredFieldValidator来操作同一个控件.
这是根据RegularExpressionValidator文档,其中指出:
如果输入控件为空,则验证成功.如果关联的输入控件需要一个值,除了RegularExpressionValidator控件之外,还要使用RequiredFieldValidator控件.
代码隐藏中字段的正则表达式检查将按预期工作; 这只是RegularExpressionValidator的一个问题.所以你可以想象使用CustomValidator而不是说args.IsValid = Regex.IsMatch(txtInput.Text, @"^\d+$"),如果它包含空格,那么它将返回false.但是,如果是这样的话,为什么不按照文档使用RequiredFieldValidator并避免编写自定义代码?另外,CustomValidator表示强制回发(除非您指定具有等效javascript正则表达式的客户端验证脚本).
| 归档时间: |
|
| 查看次数: |
9176 次 |
| 最近记录: |