MVC FoolProof Validation показывает исключение при вызове метода SaveChange

Этот вопрос может показаться дублирующим, но я не удовлетворен ни одним из ответов, поскольку некоторые предлагают MVC Foolproof validaiton для условной проверки, и некоторые говорят, что она не работает хорошо с структурой сущности

я использую MVC Foolproof RequiredIf validation в моем проекте. Это хорошо работает на стороне клиента и проверка работает также на стороне сервера.

 [RequiredIf("STCompulsory",Operator.EqualTo,true,ErrorMessage="Please enter Registration No")]
    public string STRegNo { get; set; }

Но когда я звоню db.Savechanges() для вставки данных приходит исключение

An unexpected exception was thrown during validation of 'STRegNo' when invoking 
Foolproof.RequiredIfAttribute.IsValid. See the inner exception for details.

InnerException

The method or operation is not implemented.

1 ответ

Решение

Вам не нужно Operator.EqualTo параметр, и это может быть просто

[RequiredIf("STCompulsory", true, ErrorMessage="Please enter Registration No")
public string STRegNo { get; set; }

Вы правы в том, что надежный [RequiredIf] Атрибут действительно имеет некоторые проблемы с EF, и он подробно обсуждается в этой рабочей проблеме (вместе с некоторыми предлагаемыми изменениями).

Самым простым решением является использование модели представления, а не модели данных в представлении, и применение атрибута к свойству модели представления.

Другие вопросы по тегам