2017-12-04 4 views
0

無効な日付が指定された場合に備えてメッセージを出力します。ValidValidatorは、検証サマリーを使用しない限りメッセージを表示しません。

<asp:TextBox ID="RegistrationFromTextBox2" runat="server"></asp:TextBox> 
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="RegistrationFromTextBox2" OnServerValidate="CustomValidator1_ServerValidate" ValidationGroup="NewMailingItem" runat="server" ErrorMessage="The date is invalid"></asp:CustomValidator> 

     protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     try 
     { 
      DateTime temp; 
      if (DateTime.TryParse(args.Value, out temp)) 
      { 
       args.IsValid =true; 
      } 
      else 
      { 
       args.IsValid = false; 
      } 

     } 

     catch (Exception ex) 
     { 

      args.IsValid = false; 

     } 
    } 

出力メッセージがフィールドの近くに配置されることが予想されます。

代わりに私は機能が働いても応答を得ません。フォームに検証サマリを入れると、エラーメッセージが表示されます。

検証要約のないメッセージは表示されませんか?

答えて

0

検証要約のないメッセージは表示されませんか?

ErrorMessageの代わりにText属性を使用する必要があります。

<asp:CustomValidator ID="CustomValidator1" 
    ControlToValidate="RegistrationFromTextBox2" 
    OnServerValidate="CustomValidator1_ServerValidate" 
    ValidationGroup="NewMailingItem" 
    runat="server" 
    Text="The date is invalid"> 
</asp:CustomValidator> 

FYI:あなただけの日付を確認したい場合は、あなたがCompareValidatorAjax Control Toolkit's Calendarコントロールを使用することができます。

<asp:TextBox ID="RegistrationFromTextBox2" runat="server" 
    placeholder="MM/DD/YYYY"> 
</asp:TextBox> 
<asp:CompareValidator 
    ID="RegistrationFromCompareValidator" runat="server" 
    Type="Date" 
    Operator="DataTypeCheck" 
    ControlToValidate="RegistrationFromTextBox2" 
    Text="The date is invalid"> 
</asp:CompareValidator> 
+0

hmm ..ありがとう。私は比較バリデータについて知っています。カスタムバリデーターを使用する必要があります。 –

+0

また、メッセージが表示されていない限り、レイアウトにメッセージのスペース/改行が含まれないようにする場合は、Display = "Dynamic"の構文を含めることもできます。 –

関連する問題