Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在构建一个应用程序,其中包括用户将数据输入数据库的能力。如果用户输入一些文本,例如他们尝试输入日期,我希望能够验证他们输入的字符串是否可以在 SQL 查询中执行而不会出现问题。
我正在用 java 编码,所以我想知道是否有任何小型库可以做到这一点,或者我是否应该使用不同的 reg-exes 来进行验证。
我不想依赖数据库进行验证,因为(a)如果它很远,它可能会很慢,并且(b)我可能想要实现一些其他自定义验证规则(或让用户去做)和想把我所有的验证都放在一个盒子里。
谢谢
通常,您不应依赖数据库对日期的定义。相反,您应该声明一个有效的应用程序格式(例如,MM/DD/YY)并使用正则表达式、库或您自己的代码来验证用户输入,然后执行从指定格式到数据库格式的转换(例如,月/日/年 -> 年/月/日)。
如果您使用的是 ORM,它将基于底层数据库为您对特定类型(如 Java 的数据类)执行此转换。否则,您必须自己执行此操作,但最好将输入验证与特定于数据库的转换分开。