Validator.IsValid 即使值无效也为真
Validator.IsValid is true even when value is invalid
protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
您好。我试图只将数字放入两个框中。在页面上,验证器显示告诉我非数字无效。但是,当我在选择操作后尝试使用这些值时,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 />
感谢您提供的任何帮助。
您可以通过在每个验证器上调用验证方法来强制调用验证:
protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
CompareValidatorInputTextBox1.Validate();
CompareValidatorInputTextBox2.Validate();
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
然而,当我尝试重现您的问题时,在我的代码中调用了验证器。也许您在某些控件上设置了一些验证组...
protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
您好。我试图只将数字放入两个框中。在页面上,验证器显示告诉我非数字无效。但是,当我在选择操作后尝试使用这些值时,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 />
感谢您提供的任何帮助。
您可以通过在每个验证器上调用验证方法来强制调用验证:
protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
CompareValidatorInputTextBox1.Validate();
CompareValidatorInputTextBox2.Validate();
if (CompareValidatorInputTextBox1.IsValid && CompareValidatorInputTextBox2.IsValid)
{
foo();
blah();
}
}
然而,当我尝试重现您的问题时,在我的代码中调用了验证器。也许您在某些控件上设置了一些验证组...