我只想澄清一些关于ASP.NET MVC和HTML5验证的事情。我在我的项目中禁用了所有的jQuery验证,这样我就可以只使用HTML5验证了,因为它看起来比jQuery 1好多了。
问题是,HTML5验证似乎对C#模型中的MVC注释没有反应。(例如,[Required]或[Compare("Password"]))它确实会对元素的实际html属性做出反应(例如。new { required = "required" })。
所以HTML5验证可以在JavaScript上工作,对吗?这难道不是脆弱的,因为一个人可以禁用浏览器JavaScript和绕过验证?
另外,是否有可能找到这些HTML5验证脚本的位置,以便我可以修改它们或添加新脚本(因为我没有找到任何用于实时密码确认的脚本),或者应该只在我的View中编写新的View
任何有关这方面的信息都会有帮助的,谢谢。
发布于 2017-10-29 13:35:42
只使用HTML5验证可能会“看上去更好”,但您确实错过了为您做的事情。其他开发人员可能习惯于使用ASP.NET MVC风格的验证,当他们问您“为什么不直接使用helpers和jQueryValidate?”时,您会想要给他们一个很好的理由。
MVC框架-结合典型项目中的jQueryValidate -解决了web开发人员通常面临的挑战;维护在服务器和客户端上一致工作的验证规则。
这并不完美,但如果您从头到尾都遵循MVC验证教程(或阅读MVC书中的验证章节),您将开始体会到开箱即用解决方案的力量和灵活性。
其他开发人员也更容易理解您的验证代码是如何工作的,通过坚持框架提供的工具,您就不会出错。当然,技术--尤其是网络技术--正处于一个不断变化的状态,这在很大程度上取决于环境。
发布于 2017-10-29 13:34:26
使用MVC验证的好处是它在客户端和服务器端运行。如果禁用客户端验证,则仍然可以在操作方法中检查ModelState.IsValid。当internet浏览器禁用JavaScript时,这是防止在数据库中插入垃圾的必要条件,同时也是保护数据免受恶意攻击的必要条件。
https://stackoverflow.com/questions/47000705
复制相似问题