首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CustomValidator消息不显示

CustomValidator消息不显示
EN

Stack Overflow用户
提问于 2012-12-19 20:02:28
回答 2查看 14.3K关注 0票数 6

我有一个CustomValidator,我定义了它的每一个可能的参数:

代码语言:javascript
复制
<asp:CustomValidator ID="custom" runat="server" Text="*" ErrorMessage="This email address is already registered" ControlToValidate="txtEmail" OnServerValidate="isExist" Display="None" ValidationGroup="valRegister"></asp:CustomValidator>

PS:对于同一个文本框,我有一个RequiredFieldValidator,我不想检查空值。

以下是表单的其他对象:

代码语言:javascript
复制
<div class="row"><asp:Label runat="server" Text="Email" AssociatedControlID="txtEmail"></asp:Label><asp:RequiredFieldValidator runat="server" ErrorMessage="Please enter your email" Text="*" ControlToValidate="txtEmail"></asp:RequiredFieldValidator><asp:TextBox ID="txtEmail" runat="server" CssClass="inpBox"></asp:TextBox></div>

<asp:Button runat="server" Text="Register" CssClass="btn" OnClick="register_member" CausesValidation="true" ValidationGroup="valRegister" />

<asp:ValidationSummary ID="validationSummary" runat="server" ShowMessageBox="true" ShowSummary="false" ValidationGroup="valRegister" />

代码语言:javascript
复制
protected void isExist(object sender, ServerValidateEventArgs args){
if (cre.member.isExist(args.Value)){
    args.IsValid = false;
} else {
    args.IsValid = true;
}

}

当我把一封电子邮件放在db表中时,*会出现在表单上,但是错误消息不会出现。我尝试了所有显示选项的自定义错误,但没有运气。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-19 20:14:10

我把密码和你的问题完全一样。

Display="None"更改为asp:CustomValidator中的Display="Dynamic"将导致星号出现。

ShowSummary="false"更改为asp:ValidationSummary中的ShowSummary="true"将导致错误消息出现在摘要中。

票数 5
EN

Stack Overflow用户

发布于 2016-01-21 03:16:34

如果服务器没有手动处理验证Display (特别是在使用<asp:CustomValidator时),则将更改为"Dynamic"或其他任何操作都不会真正起到任何作用。即使是有或没有ValidationGroupValidationSummary也什么也不做。

始终在之前强制对服务器进行验证,允许用户退出表单/gridview/等等。

代码语言:javascript
复制
            ...your form here...
             <tr>
                <td colspan="3" style="text-align: center" valign="top">
                    <asp:Button ID="ButtonSubmit" runat="server" Text="Submit" OnClick="Submit_Click" CausesValidation="true"  />
                    <asp:Button ID="ButtonCancel" runat="server" Text="Cancel" OnClick="Cancel_Click" CausesValidation="false"  />
                </td>
            </tr>
        </table>
    </asp:Panel>

...
    protected void Submit_Click(object sender, EventArgs e)
    {
        Page.Validate();
        if (Page.IsValid)
        {
           //processing done after a successful submit here!
        }
    }

Page.Validate()将强制验证控件检查和显示错误消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13960264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档