SPasswordField <s-password-field>
入力内容を伏せ字で表示するパスワード用のテキスト入力。 SPasswordField は、Shopify Polaris の <s-password-field> web component 向けの型付き Vue 3 wrapper です。
ts
import { SPasswordField } from 'polaris-vue-elements'ベストプラクティス
- パスワードマネージャーと連携させる。
new-passwordやcurrent-passwordなど適切なautocompleteの値を設定し、パスワードマネージャーがマーチャントの強力なパスワードの生成と保存を手助けできるようにします。 - ルールは最初に示す。 無効な入力のあとで明かすのではなく、マーチャントが入力を始める前に、パスワードの要件をすべて示します。これにより、ストレスやフォームの離脱を防げます。
- パスワードを作成するマーチャントを導く。 文脈なしにルールを強制するのではなく、パスワードの強度をリアルタイムでフィードバックし、どうすればより強くなるかを説明します。
- 貼り付けを許可する。 パスワードマネージャーなどのツールは貼り付けに依存しており、貼り付けをブロックすると、マーチャントは記憶して入力できる弱いパスワードを選びがちになります。
- クライアント側のチェックはフィードバックとしてだけ扱う。 ブラウザの制約は簡単に回避できるため、パスワードは必ずサーバーで検証します。クライアント側の検証はすばやく応答するためのものであり、セキュリティを提供するものではありません。
vue
<SPasswordField label="New password" autocomplete="new-password" details="Use at least 12 characters." />詳しいガイダンスについては、<s-password-field> に関する Shopify のベストプラクティス(英語)を参照してください。
例
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
<SPasswordField> の v-model は value プロパティにバインドされ、input DOM イベントを監視します。
template
<SPasswordField v-model="value" />これは次と同等です:
template
<SPasswordField :value="value" @input="value = $event.target.value" />Props
| Prop | 型 | 説明 |
|---|---|---|
autocomplete | "current-password" | "new-password" | "on" | "off" | "shipping current-password" | "shipping new-password" | "billing current-password" | "billing new-password" | フィールドに入力される内容のヒントです。on(デフォルト)に設定すると、フィールドがオートフィルをサポートすべきであることを示しますが、想定される内容についてそれ以上の意味的な情報はありません。off に設定すると、このフィールドに機密情報、またはワンタイムコードのように保存されることのない内容が含まれることを示します。あるいは、オートフィル時にこのフィールドに入力してほしい具体的なデータを表す値を指定することもできます。 |
defaultValue | string | フィールドのデフォルト値です。 |
details | any | フィールドのコンテキストやガイダンスを提供する追加のテキストです。このテキストはフィールドとそのラベルとともに表示され、ユーザーに詳しい情報や手順を伝えます。スクリーンリーダーのユーザーにも公開されます。 |
disabled | boolean | フィールドを無効にし、あらゆる操作を受け付けないようにします。 |
error | any | ユーザーにエラーを示します。すぐに解決する必要がある問題を伝えるため、フィールドに特定のスタイルが適用されます。 |
id | string | 要素の一意な識別子です。 |
label | any | フィールドのラベルとして使用するコンテンツです。 |
labelAccessibilityVisibility | "visible" | "exclusive" | コンポーネントのラベルの表示状態を変更します。 - visible: ラベルはすべてのユーザーに表示されます。 - exclusive: ラベルは視覚的に非表示になりますが、アクセシビリティツリーには残ります。 |
maxLength | number | 入力できる最大文字数を指定します。 |
minLength | number | 入力できる最小文字数を指定します。 |
name | string | 最も近い親のフォーム内で一意となる、フィールドの識別子です。 |
placeholder | string | フィールドに期待される値を説明する短いヒントです。 |
readOnly | boolean | ユーザーはフィールドを編集できません。フォーカスは可能で、スクリーンリーダーによって読み上げられます。 |
required | boolean | フィールドに値が必要かどうか。この要件はフィールドにセマンティックな意味を加えますが、エラーが自動的に表示されるわけではありません。このフィールドが空のときにエラーを表示したい場合は、error プロパティを使用してください。 |
value | string | フィールドの現在の値です。省略した場合、フィールドは空になります。 |
Events
| Event | 型 |
|---|---|
blur | FocusEvent |
change | Event |
focus | FocusEvent |
input | Event |
これらのイベントは <SPasswordField> 上で @blur 形式のリスナーで受け取れます。
Slots
| Slot | 説明 |
|---|---|
details | |
error |