使用 Postgres 约束进行表单验证



我们正在迁移到postgresql数据库,我们希望使用尽可能多的约束检查。问题是当我想验证 Web 表单时,有很多难以维护的重复代码。是否可以将此数据库检查也用于 Web 表单验证?该应用程序是用PHP编写的,数据库层是pomm。目标只是获取所有填充值,将其发送到数据库并获取所有失败的约束,而无需在PHP应用程序中定义其他规则。我怎样才能以最简单的方式实现它?

好吧,这里的数据库约束是为了确保您的数据以一致的方式存储。表单验证可能具有不同的规则,具体取决于功能上下文。恕我直言,依靠数据库约束来验证表单不是一个好主意(我为此使用 Symfony 验证器组件)。

从纯技术角度来看,如果要使用数据库作为验证层,最难的部分是提取无法插入/更新数据的原因。即使您可以从异常消息中获取此信息,这也将逐个验证字段,直到所有字段都正常为止。

如果您仍然想使用它,请捕获抛出的PommException并从中获取SQL错误代码。

希望对您有所帮助。

最新更新