是这样的,先在数据库建好了几张表,然后用对应数据库的EDM模型作为MVC框架的Model层,然后在EDM的designer文件中给相应的属性加上验证注释(Required),前台的cshtml也引用了相关的Validation js文件,可是客户端验证却失效了,每次提交表单都只会到后台 去验证。。。各位博友们,有遇到类似的情况吗,或者哪些因素会导致这种客户端验证失效。。。
还有就是数据库有一张表(表名:Device),前台做了一个Create的界面,可是表单提交后,到Controller的Action里面,该Action获取的参数为null,是怎么回事,MVC3有一个绑定模型的机制,我用Device类型做参数获取的就是null,而用FormCollection却能获取到,说明表单值正确提交了,但不能绑定到Model上,请问这是什么原因呀。。。。我用其他的表做同样 的操作,可以绑定Model,但用这张表就不行,这也只是一张普通的表呀,只是有20多个字段,难道是字段太多了它懒得绑啦。。。。。。。
希望以上两个问题能得到广大博友的帮助,在下感激不尽,谢谢
你的客户端验证写的有问题吧,你可以查询一下,
可是客户端验证却失效了
这个可以查一下问题,前端还是需要必要的验证的。
看看客户端的控件的name属性
客户端自己来进行验证吧,用jquery的验证控件,很简便的
验证 需要启用,然后就是相关js的引用
你最好把前台和后台的代码给贴出来,后台ModelState判断了么?
无代码无法看出问题。
首先,你的数据提交为null,可以看一下你页面的Model是不是忘加了,就是在页面最上面一般会加一个@Model的模型给绑定的,我认为几乎可以肯定是这个原因了。另外js验证有问题嘛,前台验证失效和后台半毛钱的关系都木有的,所以,肯定是你的js有问题了。不论页面怎么绑,最后生成的也就一个html页面,多检查检查了
有关js验证的问题可以参考此文:http://www.cnblogs.com/artech/archive/2012/11/25/reparse-form-4-validation.html
第二个问题最好贴出代码才能判断
这个应该是 jquery.validate.js 的问题
http://www.sitepoint.com/forums/showthread.php?848476-MVC3-Razor-Client-Validation-Problem-in-IE-8-and-Bind-Exclude-Problem 下载最新的 vs2012 里面带的那个就可以了