0
我想將電子郵件驗證複製到註冊頁面。目前,以下驗證在電子郵件上實施。如何在Zend框架中註冊新用戶時檢查重複的電子郵件條目3
$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.'
)
)
)
)
)
);
您需要創建一個自定義驗證器來查詢數據庫中的電子郵件。如果你發現一個匹配,驗證器應該返回false,否則返回true。如果您正在使用Doctrine實體,則存在一個已經存在的['ObjectExists'驗證器](https://github.com/doctrine/DoctrineModule/blob/master/docs/validator.md#use-together-with-zend-framework -2表格)你可以使用。 – AlexP
如果您正在使用'TableGateWay',請將您的表插入inputFilter並創建[回調驗證程序](https://framework.zend.com/manual/2.4/en/modules/zend.validator.callback。 HTML)在那裏處理驗證或創建您的自定義驗證器。 – Kwido