首页 > 代码库 > MVC模型验证:属性值无require,页面仍然验证问题
MVC模型验证:属性值无require,页面仍然验证问题
为了更清晰的说明这个问题,我使用了VS2013自动生成的MVC示例来演示,运行示例项目,点击注册页面,如图:
接下来给上面的注册增加一个“年龄条件”,找到RegisterModel,添加一个”Age”属性,但是,不加”[require]”,如图:
运行项目,回到注册页面,用户名,密码,确认密码都填,年龄项不填,点击注册,如图:
我们发现它提示 “年龄字段是必须的”,但是我并没有在 Age属性上加require属性,它怎么还会验证呢? 起初我还以为页面缓存原因,清空缓存,问题仍然存在。
于是Google,了解到这是MVC自动为我们处理的,对于值类型如:decimal,DateTime,int等,不管我们有没有加[require]属性,页面都会验证。解决方法是把该属性设成nullable类型,如上面Age属性修改为:
public int? Age { get; set; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。