【问题标题】:custom validator not showing errors自定义验证器未显示错误
【发布时间】:2013-10-19 12:31:15
【问题描述】:

我有一个 ASP.NET 网络表单。除了自定义验证器之外,我所有的验证器都完成了他们的工作。据我所知,我的代码是正确的,但他没有显示错误。似乎他没有调用我的 javascript 函数或函数背后的代码。

这是我的代码

javascript

<%-- javascript--%>
<script type="text/javascript" >
    function validateNaam(oSrc, args) {
        var voorNaam = document.getElementById("Voornaam");;
        var regex = /^[a-zA-Z ]{2,30}$/;

        if (voorNaam.match(regex)) {
            alert("Gelieve geen ongeldige tekens te gebruiken voor uw naam aub.");
            return false;
        }
    }

</script>

aps 自定义验证器

 <%-- Gebruikersnaam label, textbox en validator --%>&nbsp;<asp:Label ID="Label1" runat="server" AssociatedControlID="Email">Voornaam: </asp:Label>
                            <asp:TextBox runat="server" ID="Voornaam" />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Voornaam"
                                CssClass="field-validation-error" ErrorMessage="The user name field is required." />
                            <%-- Custom validator voor naam --%>
                            <asp:CustomValidator ID="CustomValidatorGebruikersnaam" runat="server" 
                                CssClass="field-validation-error" ErrorMessage="Uw naam bevat ongeldige tekens" 
                                ValidationGroup="AllValidators" OnServerValidate="CustomValidatorGebruikersnaam_ServerValidate"
                                ClientValidationFunction="validateNaam" ControlToValidate="Voornaam">!!</asp:CustomValidator>

和后面的代码

protected void CustomValidatorGebruikersnaam_ServerValidate(object source, ServerValidateEventArgs args)
{
    try
    {
        args.IsValid = Validatie.ControleerNaam(args.Value.ToString());
    }
    catch 
    {

        args.IsValid = false;
    }

}

【问题讨论】:

    标签: c# asp.net .net validation


    【解决方案1】:

    您的自定义验证器上有一个验证组。

    您未发布的按钮代码必须没有验证组。

    删除这个 ValidationGroup="AllValidators" 它应该可以工作。

    【讨论】:

    • 我现在得到自定义验证器的文本,如果它是错误的,但错误消息或javascript警报都没有出现
    • 你看过正则表达式验证器吗?我认为您可以改用它。本文展示了一个示例。 msdn.microsoft.com/en-us/library/ff650303.aspx
    • 真的非常感谢你!这成功了。我知道这是一个非常愚蠢的错误,忽略了这一点,但我从昨天开始学习 ASP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    相关资源
    最近更新 更多