Skip to content

SPasswordField <s-password-field> ​

Un campo de texto para contraseñas que oculta lo que se escribe. SPasswordField es el wrapper de Vue 3 tipado del web component <s-password-field> de Shopify Polaris.

ts
import { SPasswordField } from 'polaris-vue-elements'

Buenas prácticas ​

  • Funciona con los gestores de contraseñas. Define un valor de autocomplete adecuado, como new-password o current-password, para que los gestores de contraseñas ayuden a los comerciantes a generar y guardar contraseñas seguras.
  • Indica las reglas desde el principio. Enumera todos los requisitos de la contraseña antes de que los comerciantes empiecen a escribir, en lugar de mostrarlos solo después de una entrada no válida. Así evitas la frustración y los formularios abandonados.
  • Guía a los comerciantes que crean una contraseña. Ofrece información en tiempo real sobre la seguridad de la contraseña y explica qué la haría más segura, en lugar de simplemente imponer reglas sin contexto.
  • Permite pegar. Los gestores de contraseñas y herramientas similares dependen de la acción de pegar, y bloquearla empuja a los comerciantes hacia contraseñas más débiles que puedan escribir de memoria.
  • Trata las comprobaciones del lado del cliente solo como información. Valida siempre la contraseña en tu servidor, porque las restricciones del navegador son fáciles de eludir. La validación del lado del cliente sirve para responder rápido, no para aportar seguridad.
vue
<SPasswordField label="New password" autocomplete="new-password" details="Use at least 12 characters." />

Consulta las buenas prácticas de Shopify para <s-password-field> (en inglés) para ver todas las recomendaciones.

Ejemplo ​

Length: 0

vue
<script setup>
import { ref } from 'vue'
import { SPasswordField } from 'polaris-vue-elements'

const value = ref('')
</script>

<template>
  <SPasswordField label="Password" placeholder="Enter your password" v-model="value" />
  <p>Length: {{ value.length }}</p>
</template>

v-model ​

v-model en <SPasswordField> se vincula a la propiedad value y escucha el event DOM input.

template
<SPasswordField v-model="value" />

equivale a:

template
<SPasswordField :value="value" @input="value = $event.target.value" />

Props ​

PropTipoDescripción
autocomplete"current-password" | "new-password" | "on" | "off" | "shipping current-password" | "shipping new-password" | "billing current-password" | "billing new-password"Una indicación sobre el contenido previsto del campo. Cuando se establece en on (el valor predeterminado), esta propiedad indica que el campo debe admitir el autocompletado, pero no tienes más información semántica sobre el contenido previsto. Cuando se establece en off, indicas que este campo contiene información confidencial o contenido que nunca se guarda, como los códigos de un solo uso. Como alternativa, puedes proporcionar un valor que describa los datos concretos que quieres que se introduzcan en este campo durante el autocompletado.
defaultValuestringEl valor predeterminado del campo.
detailsanyTexto adicional que aporta contexto u orientación sobre el campo. Este texto se muestra junto con el campo y su etiqueta para ofrecer más información o instrucciones al usuario. También se expone a los usuarios de lectores de pantalla.
disabledbooleanDesactiva el campo e impide cualquier interacción.
erroranyIndica un error al usuario. El campo recibe un tratamiento estilístico específico para comunicar problemas que deben resolverse de inmediato.
idstringUn identificador único para el elemento.
labelanyContenido que se usa como etiqueta del campo.
labelAccessibilityVisibility"visible" | "exclusive"Cambia la visibilidad de la etiqueta del componente. - visible: la etiqueta es visible para todos los usuarios. - exclusive: la etiqueta se oculta visualmente, pero permanece en el árbol de accesibilidad.
maxLengthnumberEspecifica el número máximo de caracteres permitidos.
minLengthnumberEspecifica el número mínimo de caracteres permitidos.
namestringUn identificador del campo que es único dentro del formulario contenedor más cercano.
placeholderstringUna breve indicación que describe el valor esperado del campo.
readOnlybooleanEl usuario no puede editar el campo. Puede recibir el foco y los lectores de pantalla lo anuncian.
requiredbooleanSi el campo requiere un valor. Este requisito añade valor semántico al campo, pero no hará que aparezca un error automáticamente. Si quieres mostrar un error cuando este campo esté vacío, puedes hacerlo con la propiedad error.
valuestringEl valor actual del campo. Si se omite, el campo estará vacío.

Events ​

EventTipo
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent

Escúchalos con listeners del estilo @blur en <SPasswordField>.

Slots ​

SlotDescripción
details
error

Publicado bajo la licencia MIT. Logo de Vue por Evan You, CC BY-NC-SA 4.0.