В моем приложении 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. Validator V устанавливает сообщение об ошибке в IsValid.
Однако создается впечатление, что экземпляр сущностной модели E продолжает снова и снова использоваться (из представления MVC Asp.net), и каждый раз, когда проверка E выполняется на E, используется один и тот же экземпляр валидатора.
Поскольку валидатор выполняет запись в свойство ErrorMessage, и вы не можете записывать в свойство ErrorMessage более одного раза, каждая проверка, выполненная после начальной, вызывает сбой.
Кто-нибудь знает, как это решить?