I'm using Laravel 5.4 in an application, and a validator method gets an array .
This array can have the attributes:
[
'nome' => $request->nome,
'ddd' => $request->ddd,
'fone' => $request->fone
]
Or just:
[
'nome' => $request->nome
]
How do I check if it comes with the attributes ddd
and fone
, since if it does not come with these attributes it returns Undefined index .
Obs. I know I can create a new method and validate them separately, however I want to use only one method.
Validation function:
private function validaComTelefone($data)
{
$regras = [
'nome' => 'required',
'ddd' => 'required|min:2|max:2',
'fone' => 'required|min:8|max:9'
];
$mensagens = [
'nome.required' => 'Campo nome é obrigatório',
'ddd.required' => 'Campo ddd é obrigatório',
'ddd.min' => 'Campo ddd deve ter 2 dígitos',
'ddd.max' => 'Campo ddd deve ter 2 dígitos',
'fone.required' => 'Campo telefone é obrigatório',
'fone.min' => 'Campo telefone deve ter ao menos 8 dígitos',
'fone.max' => 'Campo telefone deve ter no máximo 9 dígitos'
];
return Validator::make($data, $regras, $mensagens);
}