在一个完美的世界里,你必须投入在业务逻辑层的验证(验证),而不是在呈现或持久层。实际上你可以(或者想)把它放在任何地方。验证设计和文档
允许作简单的样品(使用像JSF或ZK框架web的应用):一定输入字段接受0001和0500之间4位
你可以使用的约束特征你的web框架来做到这一点。方便用户,不需要额外的服务器负载。
你可以在业务层(例如java-ejb)做到这一点。万无一失,因为所有使用相同ejb的应用程序都将使用相同的验证。最终不好,因为你需要在评估后向用户抛出错误。需要往返于服务器。
如果有人输入(通过持久层)非数字值或超过4位数的值,您可以依靠(部分)数据库失败。丑陋。
简历:您可以在1.和2.中做到这一点(多余)。(让用户感觉很好,并使所有应用程序保持一致)。 (加上DB col的长度将是4)
现在问题:你如何记录这个验证?文本文档或UML图?在某种程度上,您可以在多达3个位置拥有业务逻辑。在复杂的系统中,这几乎无法跟踪和理解。
上述示例的现实生活场景:您需要将数字从4改为5。如果没有文档,您需要寻找可能需要更改的位置。
你会遇到什么?任何提示或工具呢?
欢呼
斯文
你将如何验证数据与其他数据(表,数据库)与正则表达式(我的基本用户)? – javadude 2009-07-27 06:48:54