And*_*den 6 php forms validation zend-framework2
我有一个带元素的表单username.有两个验证器:NotEmpty和StringLength.自定义错误消息StringLength正在工作,但不知何故它不使用NotEmpty验证程序的自定义错误消息.在ZF1中,当制作一个可以关闭的元素时,会自动添加notEmpty验证器.我在ZF2中找不到这样的选项,也许我的NotEmpty验证器没有被使用,因为它已经被所需的标志添加了!?
$inputFilter->add($factory->createInput(array(
'name' => 'username',
'required' => true,
'filters' => array(
array(
'name' => 'StringTrim'
),
),
'validators' => array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
NotEmpty::IS_EMPTY => 'Bitte geben Sie Ihren Benutzernamen ein.',
),
),
),
array(
'name' => 'StringLength',
'options' => array(
'min' => 3,
'max' => 45,
'messages' => array(
StringLength::TOO_SHORT => 'Der Benutzername muss mindestens 3 Zeichene lang sein.',
StringLength::TOO_LONG => 'Der Benutzername darf maximal 45 Zeichen lang sein.',
)
),
),
),
)));
Run Code Online (Sandbox Code Playgroud)
小智 5
默认情况下,ZF2表单在创建时会自动为不同的表单元素添加验证器.要防止添加默认值并且只显示验证程序,您需要添加到表单构造函数:
$这 - > setUseInputFilterDefaults(假);
这将阻止Form对象添加这些默认验证器.现在,当您使用自定义消息添加自己的NotEmpty或任何其他元素时,将使用该消息而不是默认消息.
| 归档时间: |
|
| 查看次数: |
8898 次 |
| 最近记录: |