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);
}
}
wire:model.lazy
impides queLivewire
envíe una solicitud al servidor después de cadainput
, ¿Haz probado quitarlazy
? ¿Obtienes el mismo comportamiento?