繁体   English   中英

ASP.NET开发中的自定义验证器-清洁与高效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM