2014-09-30 62 views
0

我有幾個文本框,我希望用戶先將細節捕獲到文本框中,然後當他/她單擊保存按鈕時,驗證必須按順序開始。看到我的代碼下面我不確定我的邏輯。請幫幫我。如何捕捉細節,然後驗證?

 if (txtFullNames.Text.Length == 0) 
     { 
      Errormessage.Text = "Please enter your fullname"; 
      txtFullNames.Focus(); 

      //txtFullNames.BorderBrush = Brushes.Red; 
     } 
     else if(!Regex.IsMatch(txtFullNames.Text, @"^[a-zA-Z]")) 
     { 
      Errormessage.Text = "Fullname must not contain a number"; 
     } 
     else if (txtSurname.Text.Length == 0) 
     { 
      Errormessage.Text = "Please enter your Surname"; 
      txtSurname.Focus(); 
     } 
     else if (!Regex.IsMatch(txtSurname.Text, @"^[a-zA-Z]")) 
     { 
      Errormessage.Text = "Surname must not contain a number"; 
     } 
     else if (txtEmail.Text.Length == 0) 
     { 
      Errormessage.Text = "Please enter your Email Address"; 
      txtEmail.Focus(); 
     } 
     else if (!Regex.IsMatch(txtEmail.Text, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*    [a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$")) 
     { 
      Errormessage.Text = "Please enter you valid email address"; 
      txtEmail.Focus(); 
     } 
     else if (cboGender.SelectedIndex == 0) 
     { 
      Errormessage.Text = "Please select your Gender"; 
      cboGender.Focus(); 
     } 
     else if (cboCompany.SelectedIndex == 0) 
     { 
      Errormessage.Text = "Please select your Company"; 
      cboCompany.Focus(); 
     } 
     else if (txtUserName.Text.Length == 0) 
     { 
      Errormessage.Text = "Please enter your Username"; 
      txtUserName.Focus(); 
     } 
     else if (txtPassword.Password.Length == 0) 
     { 
      Errormessage.Text = "Please enter your password"; 
      txtPassword.Focus(); 
     } 
     else if (txtConfirmPassword.Password.Length == 0) 
     { 
      Errormessage.Text = "Please confirm your password"; 
      txtConfirmPassword.Focus(); 
     } 
     else if (txtPassword.Password != txtConfirmPassword.Password) 
     { 
      Errormessage.Text = "Both password must match"; 
     } 
     #endregion 
     else 
     { 

      SqlConnection oConnection = new SqlConnection(_ConnectionString); 

回答

0

將您的方法驗證和調用此方法時,保存按鈕被點擊

public void validateFields(){ 
// check your fields 
} 

private void validatetButton_Click(object sender, EventArgs e) 
{ 
     validateFields(); 
}  
+0

這是按鈕內 – 2014-09-30 08:00:14

+0

創建按鈕的代碼之外的文本框驗證方法。並在點擊按鈕時調用此方法 – Sybren 2014-09-30 08:03:02

0

聽起來像是你以後就是Validations

這裏是一個例。

class Example_Validation : ValidationRule 
{ 
    /// <summary> 
    /// Example of a simple validation, that can have different validation error contents. 
    /// </summary> 
    /// <param name="value">A string in this case</param> 
    /// <param name="cultureInfo"></param> 
    /// <returns></returns> 
    public override ValidationResult Validate(object value, CultureInfo cultureInfo) 
    { 
     var str = value as string;  // Convert to our string 
     var sb = new StringBuilder(); // For the error messages 
     var valid = true;    // Rather obvious 

     if (String.IsNullOrWhiteSpace(str)) 
     { 
      valid = false; 
      sb.AppendLine("Null or white space is not valid."); 
     } 
     else if (str.Length < 5) 
     { 
      valid = false; 
      sb.AppendLine("String too short (less than 5)."); 
     } 

     return new ValidationResult(valid, sb.ToString()); 
    } 
} 

你可以看看一個模板,我寫在這裏:big mvvm template