protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
您好。我想把数字分成两个盒子。在页面上,Validator显示告诉我非数字无效。但是,当我尝试在选择操作后使用这些值时,isValid属性始终为true,即使textBox验证器说它无效。我是asp.net的新手,所以我有点困惑。
以下是我的.aspx文件中的一个文本框:
<asp:TextBox ID="inputTextBox1" runat="server" />
<asp:CompareValidator
ID="CompareValidatorInputTextBox1"
runat="server"
ControlToValidate="inputTextBox1"
CausesValidation="True"
operator="DataTypeCheck"
Type="Double"
ErrorMessage="Invalid Number"
ForeColor="Red"
></asp:CompareValidator><br />
感谢您提供任何帮助。
答案 0 :(得分:2)
您可以通过在每个验证器上调用validate方法来强制进行验证调用:
protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
CompareValidatorInputTextBox1.Validate();
CompareValidatorInputTextBox2.Validate();
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
但是在我的代码中,当我尝试重现您的问题时,验证器已被调用。也许您在某些控件上设置了一些验证组......