如何验证给定字符串将作为有效的sql类型

时间:2013-02-01 22:32:46

标签: java sql regex

我正在构建一个应用程序,其中包括用户将数据输入数据库的能力。 如果用户输入了一些文本,例如他们尝试输入日期,我希望能够验证他们输入的字符串是否可以在没有问题的SQL查询中执行。

我在java编码,所以我想知道是否有任何小型库可以做到这一点,或者我是否应该使用不同的注册表来进行验证。

我不想依赖数据库进行验证,因为(a)如果距离很远,它可能会很慢,而且(b)我可能想要实施其他一些自定义验证规则(或者让用户这样做)并希望将所有验证保存在一个框中。

由于

1 个答案:

答案 0 :(得分:0)

通常,您不应该依赖数据库的日期定义。相反,您应该声明一个有效的应用程序格式(例如,MM / DD / YY)并使用正则表达式,库或您自己的代码来验证用户输入,然后执行从指定格式到数据库格式的转换(例如, MM / DD / YY - > YY / MM / DD)。

如果您使用的是ORM,它将根据底层数据库为特定类型(如Java的数据类)执行此转换。否则,您必须自己执行此操作,但最好从数据库特定的转换中分离输入验证。