如果我使用 jQuery 验证,是不是必须使用 DataAnnotations?

Posted

技术标签:

【中文标题】如果我使用 jQuery 验证,是不是必须使用 DataAnnotations?【英文标题】:Do I have to use DataAnnotations if I use jQuery Validation?如果我使用 jQuery 验证,是否必须使用 DataAnnotations? 【发布时间】:2013-10-29 06:31:34 【问题描述】:

我在 Razor 视图中使用 jQuery Validation 和一些自定义属性(例如 maxlength),借助这些功能,我能够提示并限制用户留下空白字段或超过最大字符数限制。那么,在这种情况下,我是否必须在我的实体类中使用 [Required][Range] 或其他一些 DataAnnotations

【问题讨论】:

【参考方案1】:

数据注释允许以一种简单的方式在代码中的单个位置同时在服务器端和客户端添加验证。

使用您当前的技术,是否在服务器和客户端上执行验证?请记住,使用 javascript,您可以向客户端提供您的源代码,甚至允许他们选择禁用它,这意味着您不能依赖它进行验证。

强烈建议使用 DataAnnotations,除非您有更好/首选的方法。

【讨论】:

在我的技术中,我想使用客户端验证来在提交表单之前提示用户。在这种情况下,我们是否可以说即使我们使用客户端验证,我们也应该使用除了 jQuery 验证之外的 DataAnnotations,以确保更好的验证。否则,用户可以通过从浏览器设置中禁用 javascripts 来禁用验证。这是真的吗? 是的。单独的 jQuery 验证根本不安全。这只是一个很好的视觉补充。如果实际检查数据非常重要,您仍然需要在服务器端进行验证。 好的,感谢您的澄清。现在我明白了数据注释的必要性。我检查了答案,但由于没有足够的声誉,我无法投票:(也许我需要我的问题被投票。

以上是关于如果我使用 jQuery 验证,是不是必须使用 DataAnnotations?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查引导模式是不是打开,以便我可以使用 jquery 验证?

如果未使用 jQuery hide() 显示 AngularJS 表单项,是不是对其进行验证?

使用 JQuery 验证插件进行条件验证

如何从表单中删除 jQuery 验证?

jQuery 组验证

使用 .on 和 .validate 的 jQuery 必须提交两次表单才能验证