我创建了一个包含DropDownList
和HiddenField
的复合控件。我想使用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
函数时,我还没有找到一种方法来插入额外的验证。
如何将复合控件中的子控件设置为控件,以进行客户端所需的验证?
答案 0 :(得分:1)
it's actually a validator that inherits from a RequiredFieldValidator
- 请考虑继承CustomValidator
。您必须自己实施检查以确定是否存在强制值,但这应该没什么大不了的,您将拥有的是具有ClientValidationFunction属性的验证器,你可以设置一个javascript函数来完成你需要的东西。