如何在 ZF3 中自定义表单验证消息
How to customize form validation messages in ZF3
如果我没有在我的输入过滤器中指定验证器,我在 ZF3 中的哪里自定义表单验证消息?
如果我使用 ZF3 documentation 中显示的代码,如下所示,'required' => true,
参数将导致 formElementErrors()
助手在表单中呈现消息 "Value is required and can't be empty"
验证输入是否为空。我想更改该消息,但不知道在哪里更改。我知道如果我在输入过滤器中定义一个验证器,我可以在那里为我定义的验证器自定义消息。但是,如果我像 ZF3 示例中所示那样保留 'validators' => [],
,那么消息定义在哪里?
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => 'Zend\Filter\StringTrim',
'options' => [],
],
],
'validators' => [],
'description' => 'Hello to name',
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在 Zend\InputFilter\Input
class 中 prepareRequiredValidationFailureMessage
方法中 NotEmpty
验证器自动附加到元素的验证器链上,如果该元素是必需的并且如果还没有出现。这意味着,如果您在输入过滤器配置中附加 NotEmpty
验证器,您可以自己定义错误消息。标准消息在 NotEmpty
验证器中定义为 NotEmpty::IS_EMPTY
常量。
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => StringTrim::class,
'options' => [],
],
],
'validators' => [
[
'name' => NotEmpty::class,
'options' => [
'messages' => [
NotEmpty::IS_EMPTY => 'Your message here',
],
],
],
],
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在 NotEmpty
验证器的选项中,您可以定义要在失败时显示的消息。
另一种方式可能是 NotEmpty
验证器的翻译器。如果您为您的应用程序使用翻译,您可以为错误消息设置您自己的短语。在这种情况下,您不必在输入过滤器规范中提及 NotEmpty
验证器。
如果我没有在我的输入过滤器中指定验证器,我在 ZF3 中的哪里自定义表单验证消息?
如果我使用 ZF3 documentation 中显示的代码,如下所示,'required' => true,
参数将导致 formElementErrors()
助手在表单中呈现消息 "Value is required and can't be empty"
验证输入是否为空。我想更改该消息,但不知道在哪里更改。我知道如果我在输入过滤器中定义一个验证器,我可以在那里为我定义的验证器自定义消息。但是,如果我像 ZF3 示例中所示那样保留 'validators' => [],
,那么消息定义在哪里?
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => 'Zend\Filter\StringTrim',
'options' => [],
],
],
'validators' => [],
'description' => 'Hello to name',
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在 Zend\InputFilter\Input
class 中 prepareRequiredValidationFailureMessage
方法中 NotEmpty
验证器自动附加到元素的验证器链上,如果该元素是必需的并且如果还没有出现。这意味着,如果您在输入过滤器配置中附加 NotEmpty
验证器,您可以自己定义错误消息。标准消息在 NotEmpty
验证器中定义为 NotEmpty::IS_EMPTY
常量。
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => StringTrim::class,
'options' => [],
],
],
'validators' => [
[
'name' => NotEmpty::class,
'options' => [
'messages' => [
NotEmpty::IS_EMPTY => 'Your message here',
],
],
],
],
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在 NotEmpty
验证器的选项中,您可以定义要在失败时显示的消息。
另一种方式可能是 NotEmpty
验证器的翻译器。如果您为您的应用程序使用翻译,您可以为错误消息设置您自己的短语。在这种情况下,您不必在输入过滤器规范中提及 NotEmpty
验证器。