ASP.NET MVC3中Model的服务端验证小问题

      Asp.net Mvc3中model增加了好几种验证方式,都非常不错,具体的使用可以在园子里搜搜,都讲的很详细,特别是客户端验证使用了jquery的validate插件,非常不错,但是有次我新建了一个control和view时,在调试时把浏览器的js禁用掉之后,发现model的验证居然“失效”了,找了半天原因,还以为是哪里配置把服务端验证给关了,结果找了好几个小时的原因,网上找了好久,发现不是配置问题,是写control方法的时候传递的形参FormColletion的而不是Model,所以Model的验证并没有执行。。。。。郁闷,后来关注了下,使用FormColletion来传递参数,要在服务端验证就需要如此写

Movie m = new Movie();
// 使用UpdateModel方法
UpdateModel < Movie > (m);

if (m.Title.Trim().Length == 0 )
{
ModelState.AddModelError(
" Title " , " Title 不能为空! " );
}
if (m.Director.Trim().Length == 0 )
{
ModelState.AddModelError(
" Director " , " Director 不能为空! " );
}
if ( ! ModelState.IsValid)
{
return View();
}

这里要注意的是,如果直接使用FormColletion来取值,直接写 “Colletion["Title"]”是取不出来值的,所以我们使用 UpdateModel来更新一个model就行了

参考文章:http://www.cnblogs.com/jiessie327/archive/2009/11/30/1582117.html

转载于:https://www.cnblogs.com/Bodil/archive/2011/03/18/1987839.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值