它的类型属性设置为字符串,最小值 = 0,最大值 = 100。
我想确保输入的数据不会超过数据库中定义的列长度。
现在当我测试它时,即使我输入一两个字母,它也总是显示错误消息!
它的类型属性设置为字符串,最小值 = 0,最大值 = 100。
我想确保输入的数据不会超过数据库中定义的列长度。
现在当我测试它时,即使我输入一两个字母,它也总是显示错误消息!
您应该为此使用 RegularExpressionValidator。RangeValidators 不适用于字符串长度。将 ValidationExpression 设置为类似.?
,或者您可以根据需要将其缩小为类似\S?
or\w?
或类似的内容。
此外,如果您使用的 TextBox 不在 MultiLine 模式下(如果最大值为一个字符,则没有理由这样做),您只需MaxLength="1"
在控件上进行设置,您根本不需要验证器。
编辑:如果您确实想在多行 TextBox 上指定大于 1 的最大长度,则可以使用上述的 RegularExpressionValidator,但将ValidationExpression=".{0,100}"
最大长度设置为 100。有关正则表达式量词的更多信息可在此处获得。
如果您有一个单行文本框,只需将其 MaxLength 属性设置为所需的最大值,它不会允许超过此值的任何内容;不需要验证器。
如果您想做任何涉及在用户键入时实时检测长度的事情,那就更复杂了,您将需要 JavaScript。您还应该在服务器端验证输入,因为任何关闭 JavaScript 的用户都可以绕过客户端验证。
将控件上的“MaxLength”属性设置为 1。此MSDN 页面描述了该属性及其用法。
RangeValidator 验证输入的值而不是长度,因此您使用验证器将有效输入限制为 {0, 1}。