отображение пользовательского сообщения о пользовательских ошибках в итоговом элементе проверки на стороне клиента - PullRequest
2 голосов
/ 21 июня 2011

Я использую сводный контроль проверки для отображения сообщений об ошибках элементов управления проверки asp.net.

На странице есть несколько проверок, для которых средства проверки не используются. Я использую пользовательский код JavaScript и JQuery для них. Пожалуйста, объясните, как я могу отображать сообщения об этих ошибках в итоговом элементе проверки вместе с элементами проверки asp.net.

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Ключ заключается в использовании элемента пользовательской проверки. Этот элемент управления поддерживает сценарии на стороне клиента (так что вы все равно можете использовать свой код 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 голос
/ 22 июня 2011

Как сказал Патрик, вы можете добавить пользовательские элементы управления валидатора вместо вашего собственного кода 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>

Это может быть полезно для вас.

...