它的type属性设置为string,它的最小值= 0,最大值= 100。
我想确保输入的数据不会超过数据库中定义的列长度。
现在,当我测试它时,即使我输入了一个或两个字母,它也总是会显示错误信息!
答案 0 :(得分:3)
您应该使用RegularExpressionValidator。 RangeValidators不适用于字符串长度。将ValidationExpression设置为类似.?
的内容,或者如果需要,可以将其缩小为\S?
或\w?
之类的内容。
另外,如果你正在使用一个不在MultiLine模式下的TextBox(如果max是一个字符就没有理由),你可以在控件上设置MaxLength="1"
,你就不会需要一个验证器。
编辑:如果您确实要在多行TextBox上指定大于1的最大长度,您可以使用如上所述的RegularExpressionValidator,但将ValidationExpression=".{0,100}"
设置为最大长度为100. More information on regex quantifiers is available here。
如果您有一个单行TextBox,只需将其MaxLength属性设置为所需的最大值,并且不允许任何比这更长的时间;不需要验证器。
如果你想做任何涉及用户输入长度的实时长度检测,那就更复杂,你需要JavaScript。您还应该验证输入服务器端,因为关闭JavaScript的任何用户都可以绕过客户端验证。
答案 1 :(得分:1)
将控件上的“MaxLength”属性设置为1.此MSDN page描述属性及其用法。
RangeValidator验证输入的值而不是长度,因此您使用验证器将有效输入限制为{0,1}。