Laravel自定义验证规则

时间:2014-06-27 09:50:56

标签: php laravel custom-validators

我正在研究框架Laravel并且我真的很享受它,但是我在“Validator”中遇到了一些问题。我需要制定一个自定义规则。我搜索了文档和互联网上的一些网站并设法这样做:

1º我创建了一个名为“app / validators /”

的文件夹

2º我在一个带有类的文件夹中创建了一个名为“CpfValidation.php”的文件。

3º在“app / start / global.php”文件中,我包括以下行:

app_path (). '/ validators'

4在我的控制器中,我插入代码:

Validator::extend('validaCpf', 'CpfValidation@validaCpf');

$validacao = Validator::make(

    array(
        'nome_completo' => Input::get('nome_completo'),
        'cpf'           => Input::get('cpf'),
        'email'         => Input::get('email'),
        'telefone'      => Input::get('telefone'),
        'logradouro'    => Input::get('logradouro'),
        'estado'        => Input::get('estado')
    ),

    array(
        'nome_completo' => 'required|min:2',
        'cpf'           => 'required|validaCpf',
        'email'         => 'required|email',
        'telefone'      => 'required|min:14',
        'logradouro'    => 'required',
        'estado'        => 'required'
    ),

    array(
        'nome_completo.required' => 'Você não informou o seu nome!',
        'nome_completo.min'      => 'O seu nome deve ter pelo menos 2 letras!',
        'cpf.required'           => 'Você não informou o seu CPF!',
        'cpf.validaCpf'          => 'O CPF informado não parece ser válido!',
        'email.required'         => 'Você não informou o seu e-mail!',
        'email.email'            => 'O e-mail informado não parece ser válido!',
        'telefone.required'      => 'Você não informou o seu telefone!',
        'telefone.min'           => 'O Telefone informado não parece ser válido!',
        'logradouro.required'    => 'Você não informou o seu endereço!',
        'estado.required'        => 'Você não informou o seu estado!'
    )

);

然而,在运行时,一切正常,除了尽管有validaCpf工作,但不会显示我想要的消息。它只显示:“validation.valida_cpf”而不是“O CPFinformadoããarepareceserválido!”

1 个答案:

答案 0 :(得分:0)

您可以覆盖消息功能以应用您自己的消息内容。 例如,检查一下:

public function messages()
{
    return [
        'title.required' => 'A title is required',
        'body.required' => 'A message is required',
    ];
}

您可以在Laravel5.1官方文档中找到它 Laravel documentation请检查此段自定义错误消息