Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否在客户端验证摘要控件中的自定义错误上显示自定义消息?_Asp.net_Asp.net 2.0_Asp.net 3.5 - Fatal编程技术网

Asp.net 是否在客户端验证摘要控件中的自定义错误上显示自定义消息?

Asp.net 是否在客户端验证摘要控件中的自定义错误上显示自定义消息?,asp.net,asp.net-2.0,asp.net-3.5,Asp.net,Asp.net 2.0,Asp.net 3.5,我正在使用验证摘要控件显示asp.net验证控件的错误消息 页面中的某些验证未使用验证控件。我使用自定义javascript和jquery代码来实现这些功能。请指导我如何在验证摘要控件和asp.net验证控件中显示这些错误的消息。关键是使用自定义验证控件。此控件支持客户端脚本编写(因此您仍然可以使用javascript代码编写),但仍与asp.net提供的验证框架相关联 从文章中可以看出,类似这样的情况: <SCRIPT LANGUAGE="JavaScript"> function

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


页面中的某些验证未使用验证控件。我使用自定义javascript和jquery代码来实现这些功能。请指导我如何在验证摘要控件和asp.net验证控件中显示这些错误的消息。

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

从文章中可以看出,类似这样的情况:

<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>

函数validateLength(oSrc、args){
args.IsValid=(args.Value.length>=8);
}

正如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>

函数validatetxtLength(源,参数)
{
var txtVal=document.getElementById(“”).value;
如果(txtVal==“”)
{
document.getElementById(“”).setAttribute(“errormessage”,“请输入用户名”);
args.IsValid=false;
}
否则如果(txtVal.length>9)
{
document.getElementById(“”).setAttribute(“errormessage”,“用户名必须少于10个字符”);
args.IsValid=false;
}
其他的
{
args.IsValid=true;
}
返回;
}
验证器测试
请输入您的用户名:

这可能对你有用。

+1问个好问题。您尝试了什么?没有尝试过任何东西,实际上我不知道验证摘要客户端API。在尝试了几个错误的答案后,终于成功了。谢谢