背景:我有一个用于构建表单的 CompositeControls 工具集。控件本身与一些用于基本验证任务的 jquery 验证相关联。
问题: 我希望通过允许开发人员使用 ASP.NET 验证器(即 RegExValidator、RequiredFieldValidator、CustomValidator 等)来验证我的一个 CompositeControls 中的数据,从而使这些 CompositeControls 的验证更加灵活。
示例: 我希望开发人员能够执行以下操作:
<asp:ValidationSummary runat=server HeaderText="There were errors on the page:" />
<custom:TextBox id='SomeTextBox' Label='Enter Name Here:' text='' runat='server' />
<asp:RequiredFieldValidator runat=server ControlToValidate=SomeTextBox ErrorMessage="Name is required."> *
</asp:RequiredFieldValidator>
我已将“ValidationProperty”添加到复合文本框,但RequiredFieldValidator(或任何其他验证器)似乎无法识别文本框或来自它的数据。文本框(以及我构建的所有其他自定义 CompositeControls)继承 CompositeControl,将属性“ValidationProperty”设置为公开控件数据元素的公共属性,并且还包含“字符串 ValidationGroup”属性。
问题:是否有人知道复合控件还需要什么或具体需要什么才能很好地与 ASP.NET 验证器配合使用(我宁愿避免在复合控件中包含所有验证器类型的实例,除非这是必要的)?