1

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');

0

Examina otras preguntas con la etiqueta o formula tu propia pregunta.