В моем приложении Asp.net MVC у меня есть собственный класс валидатора V и модель сущности (ADO.NET Entities) E.
class V : ValidationAttribute
{
public override bool IsValid(object value)
{
...
if (hasErrors)
ErrorMessage = errorMsg;
...
}
}
public partial class E //the entity model
{
[V]
public object A {get;set;}
}
Я применил валидатор V к пользовательскому свойству P в модели объекта E. Валидатор V устанавливает сообщение об ошибке в IsValid.
Однако кажется, что экземпляр модели объекта E продолжает использоваться повторно снова и снова (из представления Asp.net MVC), и каждый раз, когда проверка выполняется для E, используется один и тот же экземпляр валидатора.
Поскольку валидатор записывает в свойство ErrorMessage, а вы не можете писать в свойство ErrorMessage более одного раза, каждая проверка, выполняемая после первой, вызывает сбой.
Кто-нибудь знает, как это решить?