Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 基于实体框架的模型验证_.net_Entity Framework_Validation_Data Annotations_System.componentmodel - Fatal编程技术网

.net 基于实体框架的模型验证

.net 基于实体框架的模型验证,.net,entity-framework,validation,data-annotations,system.componentmodel,.net,Entity Framework,Validation,Data Annotations,System.componentmodel,我有一个实体框架模型类,它有一个视图来创建该模型类的实例。我想验证该类上的日期,以便用户添加符合特定条件的日期。我有一个元数据类,它使用System.ComponentModel和System.ComponentModel.DataAnnotations名称空间中的属性 是否有任何属性可用于执行验证,或者是否有其他方法可用于执行验证?您可以使用CustomValidationAttribute执行任何需要的附加验证。但是,如果需要客户端验证,您就必须更加努力地工作 您需要CustomValida

我有一个实体框架模型类,它有一个视图来创建该模型类的实例。我想验证该类上的日期,以便用户添加符合特定条件的日期。我有一个元数据类,它使用
System.ComponentModel
System.ComponentModel.DataAnnotations
名称空间中的属性


是否有任何属性可用于执行验证,或者是否有其他方法可用于执行验证?

您可以使用
CustomValidationAttribute
执行任何需要的附加验证。但是,如果需要客户端验证,您就必须更加努力地工作


您需要CustomValidationAttribute,因为现有属性不知道它们的“对象”(每个属性都不知道实例的其他属性)

但是我的选择是FluentValidation,它有一个很好的fluent界面,让您可以选择在要验证的对象的属性之间进行交互


没有更多的细节/例子,很难说。我想你的意思是,它们是来自模型的不同属性对可能日期的限制?如果是这样的话(即使不是这样),我会看看FluentValidation的所有内容,就是我有两个日期——一个开始日期和一个结束日期=开始日期必须在结束日期之前——仅此而已——我只是不知道将代码放在何处。因此您需要CustomValidationAttribute,因为现有属性不知道它们的“对象”(每个属性都不知道实例的其他属性)。或使用FluentValidation。或使用FluentValidation。或使用FluentValidation。-)。我想我可能会使用FluentValidation:-)您下载了FluentValidation,阅读了文档,在项目中添加了引用(FluentValidation.dll),在这么短的时间内使用了正确的“using”(使用FluentValidation;)?(开玩笑,但必须有一个ref/using missing somehwere)。