一个用于多个TextBox的asp.net验证器

One asp.net validator for several TextBoxes

本文关键字:asp net 验证 TextBox 一个 用于      更新时间:2023-09-26

我在页面上有3个文本框。如何设置一个验证器(以及什么样的验证器?)来验证客户端上的每个TextBox?

第一个textBox必须只包含1-3个数字,第二个-无限个数字,而第三个-0-5个数字

对于不同的文本框,最好使用不同的验证器。每个使用3个验证器,并将消息显示为*符号。

然后使用"验证摘要"控件为所有消息打印一条消息,因为您希望为所有消息显示一条消息。请参阅此链接:MSDN验证摘要

也检查一下:使用客户端验证的验证摘要

您的表达式将沿着以下行:

[0-9]{1,3}

[0-9]+

[0-9]{0,5}

更新了以下进一步信息:

您可以将每个文本框中的值组合成逗号分隔的值,然后使用[0-9]{0,3}、[0-9]+、[0-9]{1,5}表达式进行验证。

使用javascript将值复制到一个隐藏的文本框字段中,并使用上面的表达式使用自己的regex验证器,或者只手动执行验证。

例如,使用jquery

 $('#hiddenCombinedField').val($('#field1').val()+','+$('#field2').val()+','+$('#field3').val());

在表单上调用validate之前运行此操作。

另请参阅http://speckyboy.com/2009/12/17/10-useful-jquery-form-validation-techniques-and-tutorials-2/寻找一些有用的参考资料。

您可以使用CustomValidator,但我更喜欢使用三个不同的验证器,每个TextBox一个。

可以将CustomValidator的ControlToValidate属性保留为空。通过这种方式,您可以同时验证多个控件。