Share via


Control.CausesValidation Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol menyebabkan validasi dilakukan pada kontrol apa pun yang memerlukan validasi saat menerima fokus.

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

Nilai Properti

true jika kontrol menyebabkan validasi dilakukan pada kontrol apa pun yang memerlukan validasi saat menerima fokus; jika tidak, false. Default adalah true.

Contoh

Contoh kode berikut menggunakan kelas TextBox turunan dan memvalidasi alamat email yang dimasukkan pengguna. Jika alamat email tidak dalam format standar (berisi "@" dan "."), validasi gagal, ErrorProvider ikon ditampilkan, dan acara dibatalkan. Salah satu tombol pada formulir memiliki properti yang CausesValidation diatur ke false. Mengklik atau mengatur fokus ke tombol ini tidak memicu validasi. Contoh ini mengharuskan TextBox, ErrorProvider kontrol, dan Button telah dibuat pada formulir.

public:
   Form1()
   {
      InitializeComponent();    
      //Set button2 to be non-validating.
      this->button2->CausesValidation = false;
   }

private:
   void textBox1_Validating( Object^ sender, System::ComponentModel::CancelEventArgs^ e )
   {
      String^ errorMsg;
      if ( !ValidEmailAddress( textBox1->Text, &errorMsg ) )
      {
         // Cancel the event and select the text to be corrected by the user.
         e->Cancel = true;
         textBox1->Select( 0, textBox1->Text->Length );
         
         // Set the ErrorProvider error with the text to display.
         this->errorProvider1->SetError( textBox1, errorMsg );
      }
   }

   void textBox1_Validated( Object^ sender, System::EventArgs^ e )
   {
      // If all conditions have been met, clear the ErrorProvider of errors.
      errorProvider1->SetError( textBox1, "" );
   }

public:
   bool ValidEmailAddress( String^ emailAddress, [Out]interior_ptr<String^> errorMessage )
   {
      // Confirm that the email address String* is not empty.
      if ( emailAddress->Length == 0 )
      {
         *errorMessage = "email address is required.";
         return false;
      }

      // Confirm that there is an "@" and a "." in the email address, and in the correct order.
      if ( emailAddress->IndexOf( "@" ) > -1 )
      {
         if ( emailAddress->IndexOf( ".", emailAddress->IndexOf( "@" ) ) > emailAddress->IndexOf( "@" ) )
         {
            *errorMessage = "";
            return true;
         }
      }

      *errorMessage = "email address must be valid email address format.\n" +
         "For example 'someone@example.com' ";
      return false;
   }
public Form1()
{
    InitializeComponent();
    //Set button2 to be non-validating.
    this.button2.CausesValidation = false;
}

private void textBox1_Validating(object sender, 
                System.ComponentModel.CancelEventArgs e)
{
   string errorMsg;
   if(!ValidEmailAddress(textBox1.Text, out errorMsg))
   {
      // Cancel the event and select the text to be corrected by the user.
      e.Cancel = true;
      textBox1.Select(0, textBox1.Text.Length);

      // Set the ErrorProvider error with the text to display. 
      this.errorProvider1.SetError(textBox1, errorMsg);
   }
}

private void textBox1_Validated(object sender, System.EventArgs e)
{
   // If all conditions have been met, clear the ErrorProvider of errors.
   errorProvider1.SetError(textBox1, "");
}
public bool ValidEmailAddress(string emailAddress, out string errorMessage)
{
   // Confirm that the email address string is not empty.
   if(emailAddress.Length == 0)
   {
      errorMessage = "email address is required.";
         return false;
   }

   // Confirm that there is an "@" and a "." in the email address, and in the correct order.
   if(emailAddress.IndexOf("@") > -1)
   {
      if(emailAddress.IndexOf(".", emailAddress.IndexOf("@") ) > emailAddress.IndexOf("@") )
      {
         errorMessage = "";
         return true;
      }
   }
   
   errorMessage = "email address must be valid email address format.\n" +
      "For example 'someone@example.com' ";
      return false;
}
    Public Sub New()
        MyBase.New()

        InitializeComponent()
        'Set button2 to be non-validating.
        Me.button2.CausesValidation = False
    End Sub

   Private Function ValidEmailAddress(ByVal emailAddress As String, ByRef errorMessage As String) As Boolean
      ' Confirm there is text in the control.
      If textBox1.Text.Length = 0 Then
         errorMessage = "Email address is required."
         Return False

      End If

      ' Confirm that there is an "@" and a "." in the email address, and in the correct order.
      If emailAddress.IndexOf("@") > -1 Then
         If (emailAddress.IndexOf(".", emailAddress.IndexOf("@")) > emailAddress.IndexOf("@")) Then
            errorMessage = ""
            Return True
         End If
      End If

      errorMessage = "Email address must be valid email address format." + ControlChars.Cr + _
        "For example 'someone@example.com' "
      Return False
End Function

   Private Sub textBox1_Validating(ByVal sender As Object, _
   ByVal e As System.ComponentModel.CancelEventArgs) Handles textBox1.Validating

      Dim errorMsg As String
      If Not ValidEmailAddress(textBox1.Text, errorMsg) Then
         ' Cancel the event and select the text to be corrected by the user.
         e.Cancel = True
         textBox1.Select(0, textBox1.Text.Length)

         ' Set the ErrorProvider error with the text to display. 
         Me.errorProvider1.SetError(textBox1, errorMsg)
      End If
   End Sub


   Private Sub textBox1_Validated(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles textBox1.Validated
      ' If all conditions have been met, clear the error provider of errors.
      errorProvider1.SetError(textBox1, "")
   End Sub

Keterangan

CausesValidation Jika properti diatur ke false, Validating peristiwa dan Validated ditekan.

Nilai CausesValidation properti biasanya diatur ke false untuk kontrol seperti tombol Bantuan.

Berlaku untuk

Lihat juga