动态添加验证器

本文关键字:验证 添加 动态 | 更新日期: 2023-09-27 17:50:28

在我的例子中,我想根据给定的逻辑动态地将验证器添加到控件中。对于每个控件,我首先检查我的数据库中的东西,如果它出去的字段是必需的,我想添加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);
    }

谢谢你的建议

动态添加验证器

您还必须将其添加到Page的验证器集合中,以便进行服务器端验证。如您所做的那样,将其仅添加到页面控件集合中,这是使JavaScript验证呈现到浏览器所需要的。

Page.Validators.Add(validator);

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