动态添加验证器

时间:2011-04-17 13:39:32

标签: c# asp.net

在我的情况下,我想基于给定的逻辑动态地向我的控件添加验证器。对于每个控件,我首先检查我的数据库中的某些内容,如果它需要该字段是必需的,我想将requiredField添加到该控件。我反复遍历每个控件,如果需要,我添加属性required =“true”。

我添加了这段代码,但它确实起作用我的意思是没有任何反应,没有进行任何验证。

if(gc.Attributes["controlid"] != null)
    {
        RequiredFieldValidator validator = new RequiredFieldValidator();
        validator.ControlToValidate = gc.Attributes["controlid"];
        validator.ErrorMessage = gc.Attributes["errormessage"];
        this.Controls.Add(validator);
    }

感谢您的任何建议。

2 个答案:

答案 0 :(得分:0)

您还必须将其添加到Page的验证器集合中,以便进行服务器端验证。像往常一样将它添加到页面控件集合中是将JavaScript验证呈现给浏览器所需的内容。

Page.Validators.Add(validator);

答案 1 :(得分:0)

您是否将Validator控件添加到与其验证的控件相同的容器中? Validator控件要求目标控件位于同一个INamingContainer中。