1

我在我的表单中使用 symfony2 验证和 validation.yml 并尝试使用 validator.{lang}.yml 文件对其进行验证。

我的语言环境设置为 pt_BR,验证器文件位于:{Bundle}/Resources/translations/validators.pt_BR.yml

此外,同一捆绑包的验证文件位于:{Bundle}/Resources/config/validation.yml

尽管如此,即使我清除了缓存,翻译的消息也不会出现。

我的验证文件:

NC8Digital\CRMBundle\Entity\Usuario:
properties:
    id:
        - Range:
            min: 1
            minMessage: "UserBundle.Usuario.id"
            invalidMessage: "UserBundle.Usuario.id"
        - Type:
            type: numeric
            message: "UserBundle.Usuario.id"
    nome:
        - NotBlank:
            message: "UserBundle.Usuario.nome.not_blank"
        - Length:
            min: 3
            max: 90
            minMessage: "UserBundle.Usuario.nome.min_length"
            maxMessage: "UserBundle.Usuario.nome.max_length"
    sobrenome:
        - NotBlank:
            message: "UserBundle.Usuario.sobrenome.not_blank"
        - Length:
            min: 3
            max: 90
            minMessage: "UserBundle.Usuario.sobrenome.min_length"
            maxMessage: "UserBundle.Usuario.sobrenome.max_length"
    cpf:
        - NotBlank:
            message: "UserBundle.Usuario.cpf.not_blank"
        - NC8Digital\CRMBundle\Validator\Constraints\Cpf:
            message: "UserBundle.Usuario.cpf.cpf"
        - Length:
            min: 14
            max: 14
            exactMessage: "UserBundle.Usuario.cpf.exact_message"
    rg:
        - NotBlank:
            message: "UserBundle.Usuario.rg.not_blank"
        - Length:
            min: 5
            max: 25
            minMessage: "UserBundle.Usuario.rg.min_length"
            maxMessage: "UserBundle.Usuario.rg.max_length"
    celular:
        - Length:
            min: 10
            max: 15
            minMessage: "UserBundle.Usuario.celular.min_length"
            maxMessage: "UserBundle.Usuario.celular.max_length"
        - NC8Digital\CRMBundle\Validator\Constraints\Celular:
            message: "UserBundle.Usuario.celular.celular"
    telefone:
        - NotBlank:
            message: "UserBundle.Usuario.telefone.not_blank"
        - Length:
            min: 10
            max: 15
            minMessage: "UserBundle.Usuario.telefone.min_message"
            maxMessage: "UserBundle.Usuario.telefone.max_message"
        - NC8Digital\CRMBundle\Validator\Constraints\Telefone:
            message: "UserBundle.Usuario.telefone.telefone"
    sexo:
        - NotBlank:
            message: "UserBundle.Usuario.sexo.not_blank"
    data_nascimento:
        - Date:
            message: UserBundle.Usuario.data_nascimento.not_blank
    tipousuario:
        - NotBlank:
            message: "UserBundle.Usuario.tipo_usuario.not_blank"
    endereco:
        - Valid: ~
    login:
        - Valid: ~

我的翻译文件:

UserBundle:
Usuario:
    id: Código do usuário inválido.
    nome:
        not_blank: "Insira o nome."
        min_length: "Seu nome deve ter no mínimo 3 caracteres"
        max_length: "Seu nome deve ter no máximo 90 caracteres"
    sobrenome:
        not_blank: "Insira o sobrenome."
        min_length: "Seu sobrenome deve ter no mínimo 3 caracteres"
        max_length: "Seu sobrenome deve ter no máximo 90 caracteres"
    cpf:
        not_blank: "Insira o CPF."
        cpf: "Insira um CPF válido"
        exact_message: "Seu CPF deve ter 14 caracteres (incluíndo pontos e traços)."
    rg:
        not_blank: "Insira o RG."
        min_length: "O RG deve ter no mínimo 5 caracteres"
        max_length: "O RG deve ter no máximo 25 caracteres"
    celular:
        min_length: "O celular deve ter no mínimo 10 caracteres (sem separadores)."
        max_length: "O celular deve ter no máximo 15 caracteres (incluindo separadores)."
        celular: "Insira um celular válido."
    indicacoes_dia:
        min_range: "A quantidade de indicacões por dia deve ser no mínimo 0."
        max_range: "A quantidade de indicacões por dia deve ser no máximo {{ limit }}."
        type_message: "Quantidade de indicações por dia inválida."
    telefone:
        not_blank: "Insira o Telefone."
        min_message: "O telefone deve ter no mínimo 10 caracteres (sem separadores)"
        max_message: "O telefone deve ter no máximo 15 caracteres (incluindo separadores)."
        telefone: "Insira um telefone válido."
    sexo:
        not_blank: "Insira o Gênero."
    data_nascimento:
        not_blank: "Insira uma data de nascimento válida."
    tipo_usuario:
        not_blank: "Insira o Tipo de usuário."
4

1 回答 1

0

我添加了 novalidate 属性来禁用 HTML5 验证。你的问题是这样的: minMessage: "UserBundle.Usuario.id" , remove " 我认为它会起作用。

于 2014-05-07T15:57:25.720 回答