0

Tengo un sistema con dos campos (contraseña y confirmación de constraseña) que funciona, pero al escribir la contraseña me muestra una notificación que no coinciden (sin escribir nada en la confirmación), luego desaparece el mensaje de error al escribir la contraseña correcta en el campo de confirmación pero solo si hago clic fuera del input de confirmación y deseo que lo haga mientras escribo dicha confirmación correctamente sin hacer clic fuera, en tiempo real

Mis inputs del formulario:

<div class="row mb-3">
    <div class="col-md-12">
        <input wire:model.lazy="password" id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" placeholder="{{ __('Password') }}" required>

        @error('password')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>
</div>

<div class="row mb-4">
    <div class="col-md-12">
        <input wire:model.lazy="password_confirmation" id="password_confirmation" type="password" class="form-control" placeholder="{{ __('Confirm Password') }}" name="password_confirmation" required>
    </div>
</div>

Mi livewire

<?php

namespace App\Http\Livewire;

use App\Models\User;
use Livewire\Component;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rules\Password;

class ClientRegisterFormValidation extends Component
{
    public $username;  
    public $identification; 
    public $password; 
    public $password_confirmation; 

    protected $rules = [
        'username' => ['required', 'regex:/^(\d+)$/', 'max:5', 'unique:users'],
        'identification' => ['required', 'min:6', 'regex:/^(\d+)$/', 'unique:users'],
        'password' => ['required', 'confirmed', 'min:8'], 
    ];

    protected $messages = [
        'password.min' => 'la contraseña debe tener al menos 8 caracateres',
        'identification.regex' => 'El contratado debe contener 11 digitos',
    ];

    public function updated($propertyName)
    {
        $this->validateOnly($propertyName);
    }
}
3
  • Buen día, al utilizar wire:model.lazy impides que Livewire envíe una solicitud al servidor después de cada input, ¿Haz probado quitar lazy? ¿Obtienes el mismo comportamiento? Commented el 6 dic. 2023 a las 1:20
  • Hola, sí lo intenté así pero no cambia nada.
    – Joe
    Commented el 11 dic. 2023 a las 1:49
  • Invertí el orden de los campos del formulario y cambié el placeholder, y me funciona. No es lo correcto pero funciona!
    – Joe
    Commented el 11 dic. 2023 a las 16:12

0

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