【问题标题】:Client side RequiredFieldValidator check for child control of composite control客户端RequiredFieldValidator检查复合控件的子控件
【发布时间】:2014-07-10 18:22:20
【问题描述】:

我创建了一个包含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 函数时插入额外验证的方法。

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

【问题讨论】:

    标签: c# asp.net webforms


    【解决方案1】:

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

    【讨论】:

    • 这就是我要做的。谢谢!我只需将CustomValidationFunction 设置为evaluationFunction 中的RequiredFieldValidator,然后在我上面的c# 代码为真时更改该属性。
    猜你喜欢
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多