[英]Custom Validators in ASP.NET Development - Clean vs Efficient
我正在处理一个页面,其中包含大量文本框/下拉列表/等。 其中大多数将执行某种自定义验证。 我应该注意,它的大小并不大-只是字符串或整数值。
我总是听到(并且通常总是同意)应该在客户端而不是在服务器上执行尽可能多的验证,但是在这种情况下,我不确定。 此处的区别在于,该项目将传递给了解计算机但仍不熟悉编程的IT人员-他将负责将来对这些自定义验证的工作方式进行较小的更新和更改。 。
我的想法从尽可能高效转变为效率低下但可读性更高。 我专门为所有验证创建了一个新类,该类将在整个网站中使用。 但是,通过强制我在此类中的所有自定义验证代码,可以消除可能执行的所有客户端验证。 我还应注意,每个需要自定义验证的页面通常都需要执行至少一个服务器端验证,因此我永远无法使用客户端100%
考虑到网站上当前和将来的活动水平相对较低,您是否认为这是可以接受的解决方案? 还是您总是愿意在客户端上进行尽可能多的验证以提高响应能力,即使这会使将来可能从事此工作的人变得更加混乱?
客户端验证的好处是用户不必等待页面回发。
验证约束最好在服务器端声明。 否则,有人可能会在其浏览器上禁用JavaScript并将损坏的数据发送到您的数据库。
如果您想提高客户端验证的速度,但保持客户端清洁以便维护,则可以订阅每个表单输入的onblur事件以进行AJAX调用并验证模型,然后将表单限制为不提交表格无效。 所有这些都可以分解成一个外部.js文件,因此您的IT人员所要做的就是将其包括在内,并从那里仅包含HTML。
我认为您始终希望获得更好的用户体验。 一般而言,如果您的代码没有为用户体验增加价值,那么在后端如何实现它并不重要。 话虽如此,您应该始终尝试编写“可维护的”代码。 如果暂时最好的代码是“ messy”,请添加说明原因的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.