0

这个问题听起来可能重复,但我对任何答案都不满意,因为有些人建议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.

内部异常

The method or operation is not implemented.
4

1 回答 1

1

您不需要该Operator.EqualTo参数,它可以很简单

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

您是正确的,因为万无一失的[RequiredIf]属性确实与 EF 有一些问题,并且在此工作问题中进行了详细讨论(以及一些建议的更改)。

最简单的解决方案是使用视图模型而不是视图中的数据模型,并将属性应用于视图模型属性。

于 2015-10-19T11:26:17.760 回答