php - 使用 postgres 约束进行表单验证

标签 php forms validation postgresql check-constraints

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

最佳答案

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

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

如果您仍然想继续使用它,请捕获抛出的 Pomm\Exception 并获取 SQL error从它的代码。

希望对您有所帮助。

关于php - 使用 postgres 约束进行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13416520/

相关文章:

ruby-on-rails - 如何在我的模型中正确设置此验证?

PHP数组,选择打印特定元素及其内容

php - 使用 PHP 或 javascript trim 在 Canvas 中绘制的图像的透明背景

php - MySQL : How to order by two or more columns and the NULL's value will be last?

javascript - 使用 Javascript/Jquery 从对话框获取表单数据

javascript - 由于验证错误,asp.net 后退按钮未回发

php - 有什么办法可以批量处理文件夹中 "pretty"格式的PHP文件吗?

python - python 中的 Unicode 错误与表单(使用 Mechanize)

javascript - meteor 中一页上的多种形式的事件

javascript - JS即时输出到HTML