【问题标题】:displaying custom message on custom errors in validation summary control on client side?在客户端的验证摘要控件中显示自定义错误的自定义消息?
【发布时间】:2011-06-21 14:04:19
【问题描述】:

我正在使用验证摘要控件来显示 asp.net 验证控件的错误消息。

页面中有一些验证没有使用验证控件。我正在为这些使用自定义 javascript 和 jquery 代码。请指导我如何在验证摘要控件以及 asp.net 验证控件中显示这些错误的消息。

【问题讨论】:

  • +1 表示好问题。你尝试了什么?
  • 什么都没试过,其实我不知道验证摘要客户端API。

标签: asp.net asp.net-2.0 asp.net-3.5


【解决方案1】:

关键是使用自定义验证控件。此控件支持客户端脚本(因此您仍然可以使用您的 javascript 代码来执行此操作),但仍与 asp.net 提供的验证框架相关联。

来自microsoft 文章,类似这样:

<SCRIPT LANGUAGE="JavaScript">
function validateLength(oSrc, args){
   args.IsValid = (args.Value.length >= 8);
}
</SCRIPT>

<asp:Textbox id="text1" runat="server" text="">
</asp:Textbox>

<asp:CustomValidator id="CustomValidator1" runat=server 
      ControlToValidate = "text1"
      ErrorMessage = "You must enter at least 8 characters!"
   ClientValidationFunction="validateLength" >
</asp:CustomValidator>

【讨论】:

  • 在尝试了几个错误的答案之后,终于成功了。谢谢。
【解决方案2】:

正如 Patrick 所说,您可以添加自定义验证器控件来代替自定义 javascript/jQuery 代码。然后相应地您可以添加摘要验证控件。您也可以在您的 javascript 代码中更改错误消息。请检查以下代码以供参考。

<script type="text/javascript">
function validatetxtLength(source, args)
{
    var txtVal=document.getElementById('<%=txtusername.ClientID %>').value;
    if(txtVal=="")
    {
        document.getElementById('<%=custxtValidator.ClientID %>').setAttribute("errormessage","Please Enter the User Name");
        args.IsValid=false; 
    }
    else if(txtVal.length>9)
    {
        document.getElementById('<%=custxtValidator.ClientID %>').setAttribute("errormessage","Username must have less than 10 characters");
        args.IsValid=false;
    }
    else
    {
        args.IsValid=true;
    }
    return;
}
</script>

<div>
    <table cellpadding="0" cellspacing="0" border="0" width="712px">
        <tr>
            <td colspan="3" align="center">
                Validator Testing
            </td>
        </tr>
        <tr>
            <td>
                Please Enter your User Name:
            </td>
            <td>
                <asp:TextBox ID="txtusername" runat="server" Width="150px"></asp:TextBox>
            </td>
            <td>
                <asp:CustomValidator ID="custxtValidator" runat="server" ErrorMessage="User Name must have less than 10 characters"
                    Text="*" ForeColor="Red" ClientValidationFunction="validatetxtLength"></asp:CustomValidator>
            </td>
        </tr>
        <tr>
            <td colspan="3" align="center">
                <asp:Button ID="btnsubmit" runat="server" Text="Submit" />
            </td>
        </tr>
    </table>
    <asp:ValidationSummary ID="ValidationSummary1" HeaderText="Please check below validations:"
        runat="server" DisplayMode="BulletList" EnableClientScript="true" />
</div>

这可能对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    相关资源
    最近更新 更多