私はフレームワーク Laravel を勉強していて、とても楽しんでいますが、「バリデーター」に少し問題があります。カスタムルールを作成する必要があります。私はドキュメントとインターネット上のいくつかのサイトを検索し、なんとかそうしました:
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 の動作にもかかわらず、必要なメッセージが表示されないことを除いて、すべて正常に動作します。「O CPF informado não parece ser válido!」ではなく、「validation.valida_cpf」のみが表示されます。