0
我使用實體框架,所有的實體從BaseObject繼承:如何使用VAB/Entity框架驗證單個屬性?
public class BaseObject : IDataErrorInfo
{
private string _validationMessage;
public BaseObject()
{
_validationMessage = string.Empty;
}
public void Validate()
{
Validator validator = ValidationFactory.CreateValidator(GetType());
var validationResults = validator.Validate(this);
if (validationResults.Count > 0)
{
StringBuilder message = new StringBuilder();
foreach (var validationResult in validationResults)
{
message.Append(validationResult.Message);
message.Append(Environment.NewLine);
}
_validationMessage = message.ToString();
//throw new ValidationException(message.ToString());
}
}
public string Error
{
get
{
_validationMessage = string.Empty;
this.Validate();
return _validationMessage;
}
}
public string this[string columnName]
{
get
{
_validationMessage = string.Empty;
this.Validate();
return _validationMessage;
}
}
}
BaseObjects實現IDataErrorInfo的接口,這樣我可以結合一個BindingSource的使用ErrorProvider控件。這個代碼的問題是,當一個屬性無效時,所有其他屬性也是無效的。所以我的問題是,我該如何解決這個問題?我正在使用驗證應用程序塊,我不知道如何驗證單個屬性。
它看起來像我糾正! –