Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何根据数据库模式验证表单输入?_Php_Validation - Fatal编程技术网

Php 如何根据数据库模式验证表单输入?

Php 如何根据数据库模式验证表单输入?,php,validation,Php,Validation,在团队中开发更大的系统时,通常会有单独的人员来实现应用程序和数据库。在这种情况下,数据库设计和实现首先出现:数据库开发人员使用一些建模工具设计和创建表。作为一名应用程序开发人员,您很想从头开始在应用程序代码中创建和添加规则。但是,由于实际的列类型和长度限制已在每个DB表中设置,因此您正在复制工作。另外,如果数据库开发人员负责更新数据库,那么当您忘记更新应用程序端的规则时,可能会出现错误。所以,您只需要从现有的数据库模式表中获取这些规则,并“装载”到输入验证(或模型)类 因此,问题是是否有任何通用

在团队中开发更大的系统时,通常会有单独的人员来实现应用程序和数据库。在这种情况下,数据库设计和实现首先出现:数据库开发人员使用一些建模工具设计和创建表。作为一名应用程序开发人员,您很想从头开始在应用程序代码中创建和添加规则。但是,由于实际的列类型和长度限制已在每个DB表中设置,因此您正在复制工作。另外,如果数据库开发人员负责更新数据库,那么当您忘记更新应用程序端的规则时,可能会出现错误。所以,您只需要从现有的数据库模式表中获取这些规则,并“装载”到输入验证(或模型)类

因此,问题是是否有任何通用的方法(和示例)、库或框架可以说明应该如何做到这一点。我看过有规则的Codeigniter框架,但这些规则不是从现有数据库中捕获的,您需要显式地定义它们

最好是简单(但足够)的解决方案,因为我已经使用了轻量级的Codeigniter框架,我不想依赖重量级的方法。

你可以试试。虽然Zend框架需要一些初始设置,但您只能使用项目所需的部分(与其他一些PHP框架不同)。可以使用descripbetable()方法来发现有关表结构的信息,也可以重载insert()函数来显式检查类型,或者执行任何其他需要的验证

另一个可能的选择是,作为繁荣图书馆的一部分。我在过去有过很好的经历

两者都是模块化的,有很好的文档记录,并且易于使用