客户端RequiredFieldValidator检查复合控件的子控件

时间:2014-07-10 18:22:20

标签: c# asp.net webforms

我创建了一个包含DropDownListHiddenField的复合控件。我想使用RequiredFieldValidator来确保复合控件具有一个值(它实际上是一个继承自RequiredFieldValidator的验证器)。目前,通过将以下属性添加到复合控件的类的顶部,这可以很好地服务器端:

[ValidationPropertyAttribute("SelectedValue")]

但是,我无法找到实现此客户端的方法。我想过在我的RequiredFieldValidator中添加它:

Control ctrl = this.Parent.FindControl(this.ControlToValidate);
if (ctrl is MyCompositeControl)
{
    // Register script here to do client validation
}

...但是当调用js Page_ClientValidate函数时,我还没有找到一种方法来插入额外的验证。

如何将复合控件中的子控件设置为控件,以进行客户端所需的验证?

1 个答案:

答案 0 :(得分:1)

it's actually a validator that inherits from a RequiredFieldValidator - 请考虑继承CustomValidator。您必须自己实施检查以确定是否存在强制值,但这应该没什么大不了的,您将拥有的是具有ClientValidationFunction属性的验证器,你可以设置一个javascript函数来完成你需要的东西。