I managed to solve the problem, I will be leaving the resolution.
in Appserviceprovider.php add this code.
public function boot(){
/*
|--------------------------------------------------------------------------
| UNICO ID
|--------------------------------------------------------------------------
|
| verifica no banco de dados se existe os dados somente do usuario logado
| $atribute == nome do campo input(name) - Valor vem automatico
| $value == valor do name($atribute) - Valor vem automatico
| $parameters == sao os parametros como por exemplo:
| uniqui_for_id_all:primeiro_parametro,valor_primeiro_parametro
|
|
*/
Validator::extend('uniqui_for_id', function($attribute, $value, $parameters) {
$existe = DB::table($parameters[0])->where([
[$parameters[1], '=', $parameters[2]],
[$parameters[3], '!=', $parameters[4]],
[$attribute, '=', $value]
])->first();
if(!$existe){
return true;
}else{
return false;
}
});
/*
|--------------------------------------------------------------------------
| UNICO ID
|--------------------------------------------------------------------------
|
| verifica no banco de dados se existe os dados comparando com todos execao
| ele mesmo
|
|
*/
Validator::extend('uniqui_for_id_all', function($attribute, $value, $parameters) {
$existe = DB::table($parameters[0])->where([
[$parameters[1], '!=', $parameters[2]],
[$attribute, '=', $value]
])->first();
if(!$existe){
return true;
}else{
return false;
}
});
}
}
And in your validation file (REQUEST) of the fields add:
uniqui_for_id:NOME_DO_BANCO_DE_DADOS,PRIMEIRA_COLUNA_NOME,PRIMEIRA_COLUNA_VALOR,SEGUNDA_COLUNA_NOME,SEGUNDA_COLUNA_VALOR
In the second validation:
uniqui_for_id:NOME_DO_BANCO_DE_DADOS,PRIMEIRA_COLUNA_NOME,PRIMEIRA_COLUNA_VALOR
and go to lang/en or /lang/pt_br (the defined language)-> validation.php
add:
'custom' => [
'nome' => [
'uniqui_for_id' => 'O campo :attribute já está sendo utilizado.',
'uniqui_for_id_all' => 'O campo :attribute já está sendo utilizado.',
],
'email_principal' => [
'uniqui_for_id' => 'O campo :attribute já está sendo utilizado.',
'uniqui_for_id_all' => 'O campo :attribute já está sendo utilizado.',
],
'telefone' => [
'uniqui_for_id' => 'O campo :attribute já está sendo utilizado.',
'uniqui_for_id_all' => 'O campo :attribute já está sendo utilizado.',
],
'celular' => [
'uniqui_for_id' => 'O campo :attribute já está sendo utilizado.',
'uniqui_for_id_all' => 'O campo :attribute já está sendo utilizado.',
],
'cnpj' => [
'uniqui_for_id' => 'O campo :attribute já está sendo utilizado.',
'uniqui_for_id_all' => 'O campo :attribute já está sendo utilizado.',
],
],
replace and name your validation: uniqui_for_id
replace and name the fields(inputs or texarea, etc):name