Estoy haciendo un crud con modales en laravel, hata ahora llevo el de crear registro, pero nose porque al agregar el de edicion por alguna razon los modales de registro y edicion actuan como si fueran uno solo, osea si hago algo mal en uno en el error me muestra en el otro formulario tambien, y ya no funciona el formulario de registro, como es la primera vez que uso modales nose donde se habra generado ese error, esta es mi modal de registro :
<div class="modal fade" id="RegistroModalP" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header tw-bg-slate-900">
<h1 class="modal-title fs-5 tw-font-bold tw-text-white" id="ModalLabelR">Nuevo Proveedor</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="registroForm" action="{{ route('proveedores.store') }}" method="POST">
@csrf
<div class="row">
<div class="mb-3 col">
<label for="empresa" class="form-label">Empresa o Razon Social:</label>
<input type="text" class="form-control" id="empresa" name="Razon_Social" placeholder="Nombre de la Empresa">
@error('Razon_Social')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col">
<label for="representante" class="form-label">RUC:</label>
<input type="text" class="form-control" id="representante" name="RUC" placeholder="Representante">
</div>
</div>
<div class="row">
<div class="mb-3 col">
<label for="correo" class="form-label">Correo Electrónico:</label>
<input type="email" class="form-control" id="correo" name="Email" placeholder="Correo Electrónico">
@error('Email')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col">
<label for="telefono" class="form-label">Teléfono:</label>
<input type="text" class="form-control" id="telefono" name="Telefono" placeholder="Teléfono">
@error('Telefono')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Cancelar</button>
<button type="submit" id="btnRegistro" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
el de mi modal rde edicion:
<div class="modal fade" id="EditarModalP{{ $proveedor->id }}" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header tw-bg-slate-900">
<h1 class="modal-title fs-5 tw-font-bold tw-text-white" id="ModalLabelE">Editar Proveedor</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="EditForm" action="{{route('proveedores.update', $proveedor->id)}}" method="POST">
@csrf
@method('PUT')
<div class="row">
<div class="mb-3 col">
<label for="empresa" class="form-label">Empresa o Razon Social:</label>
<input type="text" class="form-control" id="empresa" name="Razon_Social" placeholder="Nombre de la Empresa" value="{{ $proveedor->Razon_Social }}">
@error('Razon_Social')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="row">
<div class="mb-3 col">
<label for="correo" class="form-label">Correo Electrónico:</label>
<input type="email" class="form-control" id="correo" name="Email" placeholder="Correo Electrónico" value="{{ $proveedor->Email }}">
@error('Email')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col">
<label for="telefono" class="form-label">Teléfono:</label>
<input type="text" class="form-control" id="telefono" name="Telefono" placeholder="Teléfono" value="{{ $proveedor->Telefono }}">
@error('Telefono')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Cancelar</button>
<button type="submit" id="btnEdicion" class="btn btn-primary">Guardar Cambios</button>
</div>
</form>
</div>
</div>
</div>
el de mi controlador:
namespace App\Http\Controllers;
use App\Models\Proveedor;
use Illuminate\Http\Request;
class ProveedoresController extends Controller
{
public function index()
{
$proveedores = Proveedor::all();
return view('Proveedores.IndexProv', compact('proveedores'));
}
public function store(Request $request)
{
$validated = $request->validate([
'Razon_Social' => 'required|string|max:20|unique:proveedores',
'RUC' => 'required|integer|max:11',
'Email' => 'required|string|email|max:30', // Validación de correo electrónico
'Telefono' => 'required|string|min:5|max:11', // Validación de teléfono
], [
'Email.email' => 'El correo electrónico debe ser válido.',
'Telefono.required' => 'El teléfono es obligatorio.',
'Telefono.min' => 'El teléfono debe tener al menos :min dígitos.',
'Telefono.max' => 'El teléfono no puede tener más de :max dígitos.',
]);
Proveedor::create($validated);
return redirect()->route('Proveedores.Index')->with('success', 'Proveedor creado exitosamente.');
}
public function show($id)
{
$proveedor = Proveedor::findOrFail($id);
return view('Proveedores.DetallesP', compact('proveedor'));
}
}
mi vista donde estan los botones q despliegan los modales:
@section('content')
@include('Proveedores.RegistrarP')
@include('Proveedores.EliminarP')
@include('Proveedores.DetallesP')
@include('Reportes')
<div class="tw-mx-4">
<div class="search-area">
<div class="mb-3">
<label for="exampleFormControlInput1" class="form-label">Buscar</label>
<div class="row">
<div class="mb-3 col" >
<input type="text" class="form-control form-control-sm tw-w-4/4" id="exampleFormControlInput1" placeholder="">
</div>
<div class="mb-3 col">
<button class="btn btn-success" data-bs-toggle="modal" data-bs-target="#RegistroModalP" type="button"><i class="fa-solid fa-plus"></i>Nuevo Proveedor</button>
</div>
</div>
</div>
<div class="table-responsive-sm">
<table class="table table-hover table-bordered border border-black">
<thead class="table-primary">
<tr>
<th>Cod</th>
<th>Razon Social</th>
<th>Ruc</th>
<th>Correo</th>
<th>Telefono</th>
<th style="width: auto;">Acciones</th>
</tr>
</thead>
<tbody class="table-group-divider">
@foreach($proveedores as $proveedor)
@include('Proveedores.EditarP', ['proveedor' => $proveedor])
<tr>
<th scope="row">{{ $proveedor->id }}</th>
<td>{{ $proveedor->Razon_Social }}</td>
<td>{{ $proveedor->RUC}}</td>
<td>{{ $proveedor->Email }}</td>
<td>{{ $proveedor->Telefono }}</td>
<td>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#EditarModalP{{ $proveedor->id }}">Editar</button>
<button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#EliminacionModalP" onclick="deleteProveedor({{ $proveedor->id }})">Eliminar</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
y las rutas si es que sirve:
Route::get('/proveedores', [ProveedoresController::class, 'index'])->name('Proveedores.Index');
Route::post('/proveedores/store', [ProveedoresController::class, 'store'])->name('proveedores.store');
Route::get('/proveedores/{id}', [ProveedoresController::class, 'show'])->name('proveedores.show');
Route::put('/proveedores/{id}', [ProveedoresController::class, 'update'])->name('proveedores.update');
Route::delete('/proveedores/{id}', [ProveedoresController::class, 'destroy'])->name('proveedores.destroy');