我对电子邮件验证有点困惑。在我的模型中,我定义了表单字段的规则。我的问题是我不知道在哪里设置 Zend\Validator\EmailAddress()
规则。在标准 InputFilter 中,我有标准过滤器和验证器,例如:require
、、、等。ZF2 是否支持电话号码验证?min
max
encode
我读了这个,但我不知道如何在我的模型数组中混合 EmailAddress 规则getInputFilter()
。我是否需要在控制器中定义电子邮件验证,或者我可以在模型中做到这一点?
http://framework.zend.com/manual/2.0/en/modules/zend.validator.set.html
我的模型使用 Zend\InputFilter\ÍnputFilter 并且我设置了这样的规则:
/**
* Company Rules
*
* @filters
* StripTags | StringTrim
* @validators
* StringLenght | UTF-8 encoding | min | max
*/
$filter->add(array(
'name' => 'company',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLenght',
'options' => array(
'encoding' => 'UTF-8',
'min' => 2,
'max' => 100,
),
),
),
));
/**
* Fax Rules
*
* @filters
* StripTags | StringTrim | Int
* @validators
* StringLenght | UTF-8 encoding | min | max
*/
$filter->add(array(
'name' => 'fax',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLenght',
'options' => array(
'encoding' => 'UTF-8',
'min' => 2,
'max' => 100,
),
),
),
));
}
}