Zend framework2 如何在zend framework 3中注册新用户时检查重复的电子邮件条目
我想将电子邮件验证复制到注册页面。目前,以下验证在电子邮件上实现Zend framework2 如何在zend framework 3中注册新用户时检查重复的电子邮件条目,zend-framework2,zend-validate,zend-framework3,Zend Framework2,Zend Validate,Zend Framework3,我想将电子邮件验证复制到注册页面。目前,以下验证在电子邮件上实现 $inputFilter->add(array( 'name' => 'email', 'required' => true, 'filters' => array( array('name' => 'StripTags'), array('nam
$inputFilter->add(array(
'name' => 'email',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
$isEmpty => 'Email can not be empty.',
),
),
'break_chain_on_failure' => true
),
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
$invalidEmail => 'Enter Valid Email Address.'
)
)
)
)
)
);
如果我理解正确,您不希望电子邮件被复制 您可以添加
Zend\Validator\Db\NoRecordExists
验证程序:
'validators' = array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
$isEmpty => 'Email can not be empty.',
),
),
'break_chain_on_failure' => true
),
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
$invalidEmail => 'Enter Valid Email Address.'
)
)
),
array(
'name' => 'Zend\Validator\Db\NoRecordExists',
'options' => array(
'table' => 'your_table_name',
'field' => 'email',
'adapter' => 'your_db_adapter'
)
)
)
您不应该忘记将
$db_适配器
插入表单。如果我理解正确,您不希望电子邮件重复
您可以添加Zend\Validator\Db\NoRecordExists
验证程序:
'validators' = array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
$isEmpty => 'Email can not be empty.',
),
),
'break_chain_on_failure' => true
),
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
$invalidEmail => 'Enter Valid Email Address.'
)
)
),
array(
'name' => 'Zend\Validator\Db\NoRecordExists',
'options' => array(
'table' => 'your_table_name',
'field' => 'email',
'adapter' => 'your_db_adapter'
)
)
)
您不应忘记将
$db_适配器
插入表单。您需要创建一个自定义验证器来查询数据库中的电子邮件。如果找到一个匹配项,验证程序应返回false,否则返回true。如果您使用的是条令实体,则可以使用现有的。如果您使用的是TableGateWay
,请将您的表插入inputFilter并在其中创建一个处理验证的方法,或者创建自定义验证程序。您需要创建自定义验证程序来查询数据库中的电子邮件。如果找到一个匹配项,验证程序应返回false,否则返回true。如果您使用的是条令实体,那么您可以使用已有的。如果您使用的是TableGateWay
,请将您的表插入inputFilter,并在其中创建一个验证处理程序,或者创建自定义验证程序。