自定义验证器的服务器验证事件背后的代码是什么,它试图验证一组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。