且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Zend 框架自定义验证类

更新时间:2023-02-01 09:36:11

您可以直接将验证器添加到表单元素中.无需为此编写自定义验证器.

在您的表单中:

$element->addValidator(new Zend_Validate_Db_NoRecordExists('mytablename', 'myemailcolumnname'));

I'm writing a custom validator that is going to check for the existence of an email such that if it already exists in the database, the form is not valid. I'm having a hard time figuring out helper paths and namespaces for custom Zend_Validation classes.

I'd like to call the class My_Validate_EmailUnique but I keep getting error messages such as: there is an error exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'My_Validate_EmailUnique' was not found in the registry; used paths: My_Validate_: /var/www/site/arc/helpers/

The class looks like this:

    <?php
class My_Validate_EmailUnique extends Zend_Validate_Abstract
{
    const EMAIL_UNIQUE = 'notMatch';

Can someone help me with where I register for the Zend_Form to look for custom validators?

You can directly add the validator to your form element. There is no need to write a custom validator for this.

In your form:



$element->addValidator(new Zend_Validate_Db_NoRecordExists('mytablename', 'myemailcolumnname'));