在PHP中向类添加验证

在PHP中向类添加验证,php,html,class,forms,Php,Html,Class,Forms,我有几个类(对于我正在制作的表单生成器类…我知道sad:()),无论如何,层次结构如下所示: 类HTML_表单接受抽象类FormElement对象(使用类型暗示)。FormElement类有几个子类,如Textbox、Password、Radio等 我将如何向这些添加验证,例如,我试图在类HTML_表单中创建的方法是: $form=新的HTML\u表单($name) $form->addElement($type、$name、$validation) 我希望每个人都能理解……是的,我就是这样一个

我有几个类(对于我正在制作的表单生成器类…我知道sad:()),无论如何,层次结构如下所示:

类HTML_表单接受抽象类FormElement对象(使用类型暗示)。FormElement类有几个子类,如Textbox、Password、Radio等

我将如何向这些添加验证,例如,我试图在类HTML_表单中创建的方法是:

$form=新的HTML\u表单($name)

$form->addElement($type、$name、$validation)


我希望每个人都能理解……是的,我就是这样一个noob。

我可能会创建一个通用的
验证程序
类,并在添加元素时调用它

$input = new InputFormElement(array('name' => 'firstname', 'id' => 'firstname'), $validation);
$form->addElement($input);

/* ... */
if($input->validate())

如果您正在尝试进行服务器端验证,则在收到POST/GET后,请使用提交的值加载表单对象

在表单元素类中添加一个函数is_valid()。您可以在其中添加任何需要的验证。如果您想使用单独的验证函数(不是特定于元素而是特定于表单的函数),这意味着某些成员提交了一个表单,该表单使用了数据库对象的引用ID,您希望确保该对象是正确的,因此您的输入\文本表单元素自然不会覆盖此验证。向表单\元素对象添加另一个名为“set \ u validation \ u function”的函数。从中传入一个数组(类,函数)。然后更新is_valid()函数以检查是否设置了验证函数,如果正在使用,则调用用户函数(数组(类,函数),参数)以调用定义的函数