Zend framework2电子邮件验证为特定的地址,如Gmail和阻止特定的电子邮件地址
问题描述:
我有我的输入过滤器的电子邮件地址,我想限制一个特定的电子邮件服务提供商,请帮助我与此。Zend framework2电子邮件验证为特定的地址,如Gmail和阻止特定的电子邮件地址
我还有一个表格,我想让这个受限制的电子邮件服务提供者只在这里注册。请告诉我如何限制一个特定的电子邮件服务提供商,并以另一种形式只允许一个特定的电子邮件服务提供商。
在此先感谢
$inputFilter->add($factory->createInput(array(
'name' => 'email',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
'emailAddressInvalidFormat' => 'Email address format is not invalid',
)
),
),
array (
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => 'Email address is required',
)
),
),
),
)));
答
添加一个正则表达式验证:
$inputFilter->add($factory->createInput(array(
'name' => 'email',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
'emailAddressInvalidFormat' => 'Email address format is not invalid',
)
),
),
array (
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => 'Email address is required',
)
),
),
array(
'name' => 'Regex',
'options' => array(
'pattern' => '/@gmail.com$/',
'messages' => array(
'regexNotMatch' => 'You must have a gmail.com email address'
),
)
),
),
)));
我可能只是使用的Zend \验证\正则表达式。我不确定你对两种不同形式的含义,但是你可以很容易地在两者中使用正则表达式验证器(当然有两种不同的正则表达式) – timdev 2013-05-05 06:53:31