2012-08-10 66 views
1

我有一個文本框,其文本我只想根據複選框值進行驗證。當它檢查時,使用驗證,未檢查時不驗證。從綁定中刪除驗證

我可以很好地驗證它,並在其周圍出現紅色框,但是當我不想驗證它時,文本框周圍的紅色框將保留。我嘗試清除文本框中的綁定,但沒有運氣。

+0

你是如何實現驗證的? – saber 2012-08-10 21:42:08

回答

1

你的情況,你需要實現自定義的驗證是這樣的:

public class TestModel : ValidationRule 
{ 
    public bool IsChecked { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 

    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo) 
    { 
     if (IsChecked) 
     { 
      if (string.IsNullOrEmpty(FirstName)) 
      { 
       return new ValidationResult(false, "FirstName requierd."); 
      } 
     } 
     return new ValidationResult(true, null); 
    } 
} 

希望這有助於。