0
がBaseObjectから継承:私はのBindingSourceとの組み合わせでErrorProviderを使用できるようにVAB/Entityフレームワークで単一のプロパティを検証する方法は?私は、Entity Frameworkの、すべてのエンティティを使用してい
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インターフェイスを実装しています。このコードの問題は、あるプロパティが無効な場合、他のすべてのプロパティも無効であることです。だから私の質問は、どのように私はこれを解決することができますですか?検証アプリケーションブロックを使用していますが、どのようにして単一のプロパティを検証できるか分かりません。
私は訂正したようですね! –