我有一个用户控件,其中包含两个文本字段,每个字段分配有requiredfield验证器。此控件包含另一个用户控件包含一个按钮。单击此按钮我需要验证父控件文本字段中的字段。
我尝试使用Page.Validate(“ValidationGroup”)和Page.IsValid验证但是没有显示错误消息。只有当我尝试从包含必需字段验证器的包中验证它时才会显示错误消息?< / p>
答案 0 :(得分:1)
我刚才遇到了同样的问题。
我通过在对usercontrol的引用下添加一个customvalidator来解决它,并通过公开需要验证的属性来验证来自父级的usercontrol。无论如何我暴露了这些属性,所以没什么大不了的。
<div>
<uc:MyChildUserControl ID="MyChildUserControl1" runat="server"></uc:MyChildUserControl >
<asp:CustomValidator ID="MyChildUserControlCustomValidator" runat="server" ValidationGroup="default_validation" ErrorMessage="errormessage to show when the sh*t hit the fan" Text="*"></asp:CustomValidator>
</div>
然后是servervalidate代码:
protected void MyChildUserControlCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = MyChildUserControl1.SomeProperty;
}
答案 1 :(得分:0)
您是否在所有按钮上设置了ValidationGroup属性,并且TextBox涉及到相同的验证组名称?我已经在一些项目中使用了验证组,这些项目具有相当深度嵌套的用户控件和自定义控件,并且只要
ValidationGroup =“CommonName”在点击的按钮上设置,所有涉及的字段然后验证显示正确..