HtmlInputButton.CausesValidation プロパティ

定義

HtmlInputButton コントロールがクリックされたときに検証を実行するかどうかを示す値を取得または設定します。

public:
 property bool CausesValidation { bool get(); void set(bool value); };
public:
 virtual property bool CausesValidation { bool get(); void set(bool value); };
public bool CausesValidation { get; set; }
public virtual bool CausesValidation { get; set; }
member this.CausesValidation : bool with get, set
Public Property CausesValidation As Boolean
Public Overridable Property CausesValidation As Boolean

プロパティ値

HtmlInputButton コントロールがクリックされたときに検証を実行する場合は true、それ以外の場合は false。 既定値は true です。

次のコード例では、 プロパティを使用 CausesValidation してページの検証が行われないようにする方法を示します。 メソッドが Validate 各検証コントロールを個別にアクティブ化する方法に注目してください。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  void SubmitButton_Click(Object sender, EventArgs e)
  {

    
    // Determine which button was clicked.
    switch (((HtmlInputButton)sender).ID)
    {

      case "CityQueryButton":

        // Validate only the controls used for the city query.
        CityReqValidator.Validate();

        // Take the appropriate action if the controls pass validation. 
        if (CityReqValidator.IsValid)
        {
          Message.InnerHtml = "You have chosen to run a query for the following city: " +
             CityTextBox.Value;
        }

        break;

      case "StateQueryButton":

        // Validate only the controls used for the state query.
        StateReqValidator.Validate();

        // Take the appropriate action if the controls pass validation.
        if (StateReqValidator.IsValid)
        {
          Message.InnerHtml = "You have chosen to run a query for the following state: " +
             StateTextBox.Value;
        }

        break;

      default:

        // If the button clicked is not recognized, erase the message on the page.
        Message.InnerHtml = "";

        break;

    }

  }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HtmlInputButton CausesValidation Example</title>
</head>
<body>
   <form id="form1" runat="server">
      <h3> HtmlInputButton CausesValidation Example </h3>

      <table border="1" cellpadding="10">
         <tr>
            <td>
               <b>Enter city to query.</b> <br />
               <input id="CityTextBox" 
                      type="Text"
                      runat="server"/>
               <asp:RequiredFieldValidator ID="CityReqValidator"
                    ControlToValidate="CityTextBox"
                    ErrorMessage="<br />Please enter a city."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="CityQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="False"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </td>
         </tr>

         <tr>
            <td>
               <b>Enter state to query.</b> <br />
               <input id="StateTextBox" 
                      type="Text" 
                      runat="server"/>
               <asp:RequiredFieldValidator ID="StateReqValidator"
                    ControlToValidate="StateTextBox"
                    ErrorMessage="<br />Please enter a state."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="StateQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="False"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </td>
         </tr>

      </table>

      <br /><br />

      <span id="Message"
            runat="Server"/>


   </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Sub SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)
         
    ' Determine which button was clicked.
    Select Case (CType(sender, HtmlInputButton)).ID

      Case "CityQueryButton"

        ' Validate only the controls used for the city query.
        CityReqValidator.Validate()

        ' Take the appropriate action if the controls pass validation. 
        If CityReqValidator.IsValid Then
           
          Message.InnerHtml = "You have chosen to run a query for the following city: " & _
             CityTextBox.Value
               
        End If

      Case "StateQueryButton"

        ' Validate only the controls used for the state query.
        StateReqValidator.Validate()

        ' Take the appropriate action if the controls pass validation.
        If StateReqValidator.IsValid Then
               
          Message.InnerHtml = "You have chosen to run a query for the following state: " & _
             StateTextBox.Value
               
        End If

      Case Else

        ' If the button clicked is not recognized, erase the message on the page.
        Message.InnerHtml = ""

    End Select
        
  End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head  runat="server">
    <title>HtmlInputButton CausesValidation Example</title>
</head>
<body>
   <form id="form1" runat="server">
      <h3> HtmlInputButton CausesValidation Example </h3>

      <table border="1" cellpadding="10">
         <tr>
            <td>
               <b>Enter city to query.</b> <br />
               <input id="CityTextBox" 
                      type="Text"
                      runat="server"/>
               <asp:RequiredFieldValidator ID="CityReqValidator"
                    ControlToValidate="CityTextBox"
                    ErrorMessage="<br />Please enter a city."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="CityQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="False"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </td>
         </tr>

         <tr>
            <td>
               <b>Enter state to query.</b> <br />
               <input id="StateTextBox" 
                      type="Text" 
                      runat="server"/>
               <asp:RequiredFieldValidator ID="StateReqValidator"
                    ControlToValidate="StateTextBox"
                    ErrorMessage="<br />Please enter a state."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="StateQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="False"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </td>
         </tr>

      </table>

      <br /><br />

      <span id="Message"
            runat="Server"/>


   </form>
</body>
</html>

注釈

既定では、コントロールがクリックされたときに HtmlInputButton ページ検証が実行されます。 ページ検証では、ページ上の検証コントロールに関連付けられている入力コントロールが、すべて検証コントロールで指定された検証規則に合格するかどうかを決定します。

プロパティを使用してCausesValidationコントロールがクリックされたときに、クライアントとサーバーの両方で検証をHtmlInputButton実行するかどうかを指定または決定できます。 検証が実行されないようにするには、 プロパティを CausesValidationfalse設定します。

このプロパティは、イベントのイベント ハンドラー ServerClick で一般的に使用され、[キャンセル] または [リセット] ボタンがクリックされたときにページの検証が行われないようにします。

適用対象

こちらもご覧ください