[英]Validation Form in ZF2
如果電子郵件字段必須僅包含6到12個長度字符之間的有效電子郵件地址和密碼,我如何在電子郵件和密碼字段中驗證輸入數據? 我的表格代碼:
namespace Notes\Form;
use Zend\Form\Form;
use Zend\InputFilter\InputProviderInterface;
use Zend\InputFilter\InputFilter;
use Zend\Validator\ValidatorInterface;
use Zend\InputFilter\Factory as InputFactory;
class AuthorizationForm extends Form
{
public function __construct($name = null)
{
parent::__construct('auth');
$this->setAttribute('method', 'post');
$this->add(array(
'name' => 'email',
'attributes' => array(
'type' => 'text',
'style' => 'width: 250px;',
),
));
$this->add(array(
'name' => 'password',
'attributes' => array(
'type' => 'password',
'style' => 'width: 250px;',
),
));
$this->add(array(
'name' => 'submit',
'attributes' => array(
'type' => 'submit',
'value' => 'Login',
'id' => 'submitbutton',
'class' => 'fbutton green',
),
));
$this->add(array(
'type' => 'Zend\Form\Element\Checkbox',
'name' => 'save_login',
'options' => array(
'label' => 'Remember me ',
'checked_value' => '1',
),
));
}
}
謝謝你的回答!
將這些驗證器添加到模型文件中:
// For email validation
'validators' => array(
array('regex', true, array(
'pattern' => '/[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i',
'messages' => 'Your error message here...'))
),
// For character length validation
'validators' => array(
array(
'name' => 'Between',
'options' => array(
'min' => 6,
'max' => 12,
),
),
),
我希望這有幫助。
有一個用於電子郵件驗證的內置驗證器,如下所示,
'validators' => array(
array('EmailAddress',true)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.