Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
vuelidar contraseñas idénticas solo si la casilla de verificación está marcada

Tengo un formulario para iniciar sesión y crear una cuenta. Se agregan campos adicionales cuando se marca una casilla de verificación.

 <label for="createNewAccount" >Create account <input v-model="form.createNewAccount" type="checkbox" name="createNewAccount"> </label>

Esto devuelve un valor booleano.

 data () { return { form:{ admEmail: '', admPassWord: '', confPassWord: '', createNewAccount: false, } } },

Estoy usando vuelidate, pero el mismo validador incorporado debe ejecutarse solo si this.form.createNewAccount === true .

esto funciona (pero no veo cómo introducir el requisito de que this.form.createNewAccount debe ser verdadero para que esto se ejecute):

 confPassWord: { myFunction: helpers.withMessage( `La confirmation ne correspond pas au mot de passe.`, sameAs(this.form.admPassWord) ) }

Intenté esto:

 validations () { return { form: { confPassWord: { myFunction: helpers.withMessage( `La confirmation ne correspond pas au mot de passe.`, (value) => { if (this.form.createNewAccount === true) { value === this.form.admPassWord } return true } ) }

console.log(value + this.form.admPassWord devuelve los valores correctos.

Espero que esta función se ejecute solo cuando this.form.createNewAccount === verdadero y siempre devuelva verdadero de lo contrario y devuelva falso cuando value === this.form.admPassWord devuelva falso.

Pero: siempre pasa la validación, incluso cuando this.form.createNewAccount es verdadero y las contraseñas no coinciden.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La solución más concisa es:

 (value) => { return !this.form.createNewAccount || value === this.form.admPassWord; }

Una solución más legible es:

 (value) => { return this.form.createNewAccount ? value === this.form.admPassWord : true; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda