Commit 2e1284dd authored by luisfrl's avatar luisfrl
Browse files

feat: criando rule para email unico

parent e3963658
Showing with 50 additions and 8 deletions
+50 -8
......@@ -38,7 +38,7 @@ use Illuminate\Validation\Rule;
use PDF;
use DB;
use App\AreaTematica;
use App\Rules\UniqueEmail;
class AdministradorController extends Controller
{
......@@ -531,7 +531,7 @@ class AdministradorController extends Controller
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', new UniqueEmail($request->email)],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'senha' => ['required', 'min:8'],
......@@ -543,20 +543,20 @@ class AdministradorController extends Controller
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', new UniqueEmail($request->email)],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ['required', 'string', 'telefone'],
'senha' => ['required', 'min:8'],
'confirmar_senha' => ['required', 'min:8'],
'cpf' => ['required', 'cpf', 'unique:users'],
'cpf' => ['required', 'cpf', new UniqueEmail($request->email)],
]);
} else {
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', new UniqueEmail($request->email)],
'tipo' => ['required'],
'cpf' => ['required', 'cpf', 'unique:users'],
'cpf' => ['required', 'cpf', new UniqueEmail($request->email)],
'celular' => ['required', 'string', 'telefone'],
'senha' => ['required', 'min:8'],
'confirmar_senha' => ['required', 'min:8'],
......
......@@ -15,6 +15,7 @@ use App\Proponente;
use App\Endereco;
use App\Rules\UrlValidacao;
use App\Curso;
use App\Rules\UniqueEmail;
class RegisterController extends Controller
{
......@@ -60,7 +61,7 @@ class RegisterController extends Controller
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', new UniqueEmail($data['email'])],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'cpf' => ['required', 'cpf', 'unique:users'],
'rg' => ['required', 'unique:participantes'],
......@@ -76,7 +77,7 @@ class RegisterController extends Controller
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', new UniqueEmail($data['email'])],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'cpf' => ['required', 'cpf', 'unique:users'],
'rg' => ['required', 'unique:participantes'],
......
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\DB;
class UniqueEmail implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return empty(DB::table("users")->where("email", 'ilike', $value)->first());
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'Email já está cadastrado';
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment