我们正在迁移到postgresql数据库,我们希望尽可能多地使用约束检查。问题是当我想验证Web表单时,有很多重复的代码很难维护。是否可以使用此数据库检查进行Web表单验证?该应用程序使用PHP编写,数据库层为pomm。目标只是获取所有填充的值,将其发送到数据库并获取所有失败的约束,而无需在PHP应用程序中定义其他规则。我怎样才能以最简单的方式实现这一目标呢?
答案 0 :(得分:1)
那么,数据库约束就是为了确保您的数据以一致的方式存储。表单验证可能具有不同的规则,具体取决于功能上下文。 Imho依靠数据库约束来验证表单并不是一个好主意(我使用Symfony validator组件)。
从纯技术角度来看,如果要将数据库用作验证层,最难的部分是提取无法插入/更新数据的原因。即使您可以从Exception消息中获取此信息,这将逐个验证字段,直到所有字段都正常。
如果您仍想使用它,请抓住Pomm\Exception
抛出并从中获取SQL error代码。
希望它有所帮助。