2011-06-21 9 views
2

私はasp.net検証コントロールのエラーメッセージを表示するために検証の概要コントロールを使用しています。クライアントサイドの検証サマリーコントロールでカスタムエラーをカスタムメッセージで表示していますか?

ページには、検証コントロールが使用されていない検証がいくつかあります。私はこれらのカスタムJavaScriptとjQueryコードを使用しています。これらのエラーのメッセージをasp.net検証コントロールと共に検証サマリーコントロールにどのように表示するかを親切に指導します。

+0

+1良い質問です。何を試しましたか? – suryakiran

+0

何も試してみませんでしたが、実際には検証の要約クライアントサイドAPIは認識していません。 – user576510

答えて

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

いくつかの間違った答えを試した後、ついにそれが働いた。ありがとう。 – bob

1

パトリックはあなたのカスタム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> 

これはお役に立ちます。

関連する問題