从客户端(浏览器)获得输入后,我需要在数据库上的服务器端上执行特定事务(业务逻辑)。
在进行交易之前,对用户输入进行验证是一种很好的做法吗?我是否违反了“单一责任原则”?
编辑:单一责任原则 - 我的不好,这里没有意义。
最好的问候。
答案 0 :(得分:6)
有几个原因导致在服务器端进行验证是绝对必要的,尽管可能已经在客户端检查了输入:
这不违反单一责任原则,因为客户端和服务器端验证有不同的用途。客户端验证可以向用户提供有效和无效的可视提示,而服务器端验证可以保持数据的一致性。
答案 1 :(得分:2)
在制作之前对用户输入进行验证是一种很好的做法 交易?
是
如果一个男人来到你家门口说他们是女王,你会让他进来吗?
同样,您应该验证服务器端 - 因为从您的客户端(浏览器)发送的数据不可信任。
答案 2 :(得分:1)
进行服务器端验证至关重要,因为客户端验证可以通过禁用JavaScript或使用fiddler或curl等工具来传递,另一方面如果你想拥有一个用户友好的应用客户端验证将是一个重要的工具。
Jquery validation是用于客户端验证的前端库
MVC Model Validation可以生成客户端和服务器端验证
Remote Attribute是一个有用的属性,可以让我看一下你认为的情况。