我必须根据复选框选择执行验证。下图显示了演示字段:
网页包含两个用于手动输入值的字段(名称,年龄)。 点击提交按钮时,
答案 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的值。