我制作了一个验证器,它接收一个类实例和一个函数名,然后执行它。
这对于通过数据库表映射器执行许多自定义验证很有用。
问题是我不能多次将此验证器添加到元素中,我需要这样做......
例子:
我有一个包含用户名和密码元素的登录表单。对于用户名,我需要通过此验证器验证它是否已存在于数据库中,如果存在,我需要验证所选帐户是否已激活...
我知道我可以只创建一个函数来接收两者的结果,但是,我的验证器应该只返回一个错误消息......
这是验证器的构造函数:
/**
*$class is a class instance
*$function is the function name to execute in the class
*$invalidReturns specifies when the validator should return the error message (default is when the function returns null, false or empty string)
*$tokens are used as parameters of the function to execute
*/
public function __construct($class, $function, $invalidReturns=null, $tokens=null)
{
$this->class = $class;
$this->function = $function;
$this->tokens = $tokens;
$this->returns = $invalidReturns;
}
我怎么解决这个问题?有没有办法用动态名称在 PHP 中创建一个类?有没有办法向 Zend 中的元素添加相同的类 Validator 或者我应该更改我的 Valitor 以返回多条消息并将它们传递给构造函数?