选中复选框后验证文本框C#

时间:2014-10-21 11:25:57

标签: c# asp.net

我必须根据复选框选择执行验证。下图显示了演示字段:

enter image description here

网页包含两个用于手动输入值的字段(名称,年龄)。 点击提交按钮时,

  • 如果选中该复选框,则我需要仅验证textbox1。
  • 如果取消选中该复选框,则我需要仅验证textbox2。

1 个答案:

答案 0 :(得分:1)

如果您希望验证此客户端,您需要编写自己的javascript代码或使用许多可用的JavaScript库之一。

如果您可以验证此服务器端,则可以使用内置的CustomValidator。由于您有两个不同的文本框要验证,我会为每个文本框使用一个验证器,因此您可以有两个不同的错误消息,但只能使用一个CustomValidator

您的标记类似于:

<asp:CustomValidator runat="server" ControlToValidate="TextBox1" ErrorMessage="*" OnServerValidate="TextBox1_Validate" />
<asp:CustomValidator runat="server" ControlToValidate="TextBox2" ErrorMessage="*" OnServerValidate="TextBox2_Validate" />

然后,您的服务器代码将类似于:

protected void TextBox1_Validate(object sender, ServerValidateEventArgs e)
{
    if (!CheckBox1.Checked)
    {
        e.IsValid = true;
        return;
    }

     //TODO:  Perform some validation on TextBox1 since the checkbox is checked.
}

protected void TextBox2_Validate(object sender, ServerValidateEventArgs e)
{
    if (CheckBox1.Checked)
    {
        e.IsValid = true;
        return;
    }

    //TODO:  Perform some validation on TextBox2 since the checkbox is not checked.
}

如果您按照我建议使用TextBox方法使用CustomValidator,则可以使用args.Value获取相应TextBox的值。