验证单选按钮服务器端

时间:2009-12-29 01:38:31

标签: asp.net validation

自定义验证器的服务器验证事件背后的代码是什么,它试图验证一组2个单选按钮?

2 个答案:

答案 0 :(得分:0)

主要是你需要指定自定义逻辑,如果一切顺利通过,你会设置args.IsValid = true;否则,你会将其设置为false。如果验证失败,将出现设置的ErrorMessage。

基本概要如下:

protected void CustomServerValidate(object sender, ServerValidateEventArgs args)
{
    if (/* custom logic */)
    {
        args.IsValid = false; // failed validation
    }
    else
    {
        args.IsValid = true; // passed validation
    }
}

例如,给定单选按钮r1和r2,您可能有这样的逻辑,以确保其中一个被选中:

protected void CustomServerValidate(object sender, ServerValidateEventArgs args)
{
    if (!r1.Checked && !r2.Checked)
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}

以上内容可以直接在一行中指定,但为了清晰起见,会进行扩展。作为另一个例子,您可能有一个“其他”类型的按钮,其中包含“如果您选择其他,请解释:”文本框。您可以检查是否选择了其他无线电,然后检查文本框等。

答案 1 :(得分:0)

只需指定event参数的IsValid属性即可确定验证是否成功。

我不知道您是否可以使用CustomValidator直接链接到RadioButtonList;但是,我所做的是将ControlToValidate设置为文本框或其他有效控件,并让CustomValidator验证RadioButtonList;它仍然以这种方式工作,并在出错时正确显示。

HTH。