我有一个问题,我想解决。
我有一个网格(表格)类型布局,其中包含ViewModels
。
我希望能够验证那些ViewModels
,然后如果包含错误,则将给定属性的单元格变为红色:
Prop 1 | Prop 2 | Prop 3 | Prop 4
Row 1 x | | x |
Row 2 x | x | | x
Row 3 | x | x |
x =红细胞
我的问题是如何使用从服务层填充的模型状态来执行此操作?
我使用AutoMapper将域对象(POCO)映射到ViewModels,其中POCO由服务层提供。
基本上是这样的:
控制器 - >服务 - >返回域对象 - >地图以查看模型 - >交给了他们。
业务逻辑位于服务层,我正在考虑将模型状态包装器传递给服务,以使用域对象中的错误填充模型状态。
我会假设某种钥匙?
我知道模型状态是每个属性吗?
谢谢!
答案 0 :(得分:1)
目前尚不清楚如何在服务层执行验证,但在一天结束时,ModelState中的以下项目必须包含与之关联的错误:
Items[0].Prop1
Items[0].Prop3
Items[1].Prop1
Items[1].Prop2
Items[1].Prop4
Items[2].Prop2
Items[2].Prop3
其中Items
是视图模型上collection属性的名称。因此,您必须使用这些键将这些错误添加到ModelState中。