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

本文关键字:控件 复合控件 RequiredFieldValidator 检查 客户端 | 更新日期: 2023-09-27 18:12:17

我创建了一个包含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函数被调用。

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

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

it's actually a validator that inherits from a RequiredFieldValidator -考虑从CustomValidator继承。您必须自己实现检查,以查看是否存在强制值,但这应该没什么大不了的,然后您将拥有一个带有ClientValidationFunction属性的验证器,您可以将其设置为执行所需操作的javascript函数。