首页 新闻 会员 周边

MVC实体验证属性不起作用,请大神帮看一下。。

0
悬赏园豆:10 [待解决问题]

如下图,Name属性是必须填写

下图是控制器,直接返回实体是否通过验证:

下图是测试方法,测试返回的结果是否为真:

在测试方法中,我直接没有给Name属性赋值。。

跟到控制器里看到Name是null,

可是控制器里的ModelState.IsValid始终是true

我不是设置了必填的验证属性了吗?为什么没有填写它也为true呢?

 

谢谢解答!

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-03-06 16:18
< >
分享
所有回答(1)
0
dudu | 园豆:31007 (高人七级) | 2015-03-06 16:46

谢谢dudu大神,我是想写WebAPI,给所有平台调用,然后在控制器里用ModelState.IsValid来验证实体的属性是否符合要求。。。

但是没有像MVC那样给View绑定Model,这样的话,是不是没法用ModelState.IsValid来验证?

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-03-07 08:33

@hexllo: 问题不在WebAPI,而是在你的单元测试代码中没有触发MVC进行验证。如果你实际运行WebAPI,就能验证。你要在单元测试中调用控制器的TryValidateModel触发验证。

参考:Unit testing ModelState

支持(0) 反对(0) dudu | 园豆:31007 (高人七级) | 2015-03-07 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册