在asp.net中验证

时间:2011-09-15 04:56:06

标签: asp.net

是否可以为文本框分配两个验证器?我曾经使用了regularrexpression验证器和一个textfield txtAccount的requiredfieldvalidator,但是执行时只有regularexpressionvalidator工作。我使用了这段代码:

<asp:RegularExpressionValidator ID="REV1" runat="server" 
                        ErrorMessage="should be a numeric value" 
ValidationExpression="\d*" ControlToValidate="txtAccount">     
</asp:RegularExpressionValidator>

<asp:RequiredFieldValidator ID="RFV1" runat="server" 
ErrorMessage="AC.No already exists" ControlToValidate="txtAccount">   
</asp:RequiredFieldValidator>   

2 个答案:

答案 0 :(得分:3)

是的,您可以将两个验证器分配给同一个控件;你的问题是你的验证器有点“互相排斥”,你认为只有一个正在解雇。

你有一个正则表达式验证器,它应该确保你只输入数字并且你有一个必要的字段验证器,它应该确保你输入“something”;因此,如果输入“something”,如果输入的“something”不是数字,则正则表达式验证器将启动。如果你没有输入任何东西,你需要的字段验证器会启动并告诉你需要“输入内容”,但是你不会看到正则表达式验证器告诉你输入需要是一个数字甚至没有进入任何东西!你跟着吗?

也许你想看看ValidationSummary control.

答案 1 :(得分:1)

伊卡洛斯是对的。 如果您在文本框中输入内容,则它满足必填字段验证器的条件。所以你只看到正则表达式字段验证器正在工作。要求字段验证器只检查您的文本框是否留空。如果您想要验证的自定义逻辑,请使用自定义验证器。 Refer this link for more details