我正在处理一个包含大量文本框/下拉菜单等的页面。其中大部分将执行某种自定义验证。我应该注意它没有实质的大小 - 只是字符串或整数值。
我总是听到(并且通常一致同意)应该在客户端而不是服务器上执行尽可能多的验证,但在这种情况下我不确定。这里的不同之处在于,这个项目将被传递给一个了解计算机但仍然是编程新手的IT人员 - 他将负责对未来这些自定义验证的工作方式进行微小更新和更改
我的想法从尽可能高效转变为效率低下但更具可读性。我专门为我的所有验证创建了一个新类,将在整个网站中使用。但是,通过在此类中强制使用我的所有自定义验证代码,我可以消除我可能执行的任何客户端验证。我还应该注意,每个需要自定义验证的页面通常需要至少执行一次服务器端验证,因此我永远无法使用客户端100%
考虑到网站(目前和将来)的活动水平相对较低,您会认为这是一个可接受的解决方案吗?或者,您是否总是希望尽可能多地在客户端进行验证以提高响应速度,即使这会使将来可能正在处理它的人变得更加混乱?
答案 0 :(得分:1)
客户端验证的好处是用户不必等待页面回发。
验证约束最好在服务器端声明。否则,有人可能会在其浏览器上禁用JavaScript并将损坏的数据发送到您的数据库。
如果您希望获得客户端验证的速度,但保持客户端清洁以进行维护,您可以订阅每个表单输入的onblur事件以执行AJAX调用并验证模型,然后将表单约束为not如果表格无效,则提交。这可以全部考虑到外部的.js文件中,所以你的IT人员必须做的就是包含它,并从那里只包含它。
答案 1 :(得分:0)
在我看来,你总是希望以更好的用户体验为目标。一般来说,如果您的代码没有为用户体验增加价值,那么在后端实现它的方式并不重要。话虽如此,你应该总是尝试编写“可维护”的代码。如果“凌乱”代码是您目前可以做的最好的代码,请添加解释原因的文档。