在客户端的验证摘要控件中显示自定义错误的自定义消息?

时间:2011-06-21 14:04:20

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

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

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

2 个答案:

答案 0 :(得分:2)

关键是使用自定义验证控件。此控件支持客户端脚本(因此您仍然可以使用您的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>

答案 1 :(得分:1)

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>

这可能对你有用。