Skip to content

Rules(バリデーション)

Input rules 用のヘルパー。各ファクトリは InputRule を返します。

API

ts
import { rules, runRules } from 'pomikit-ui'
import type { InputRule } from 'pomikit-ui'

type InputRule = (value: string) => true | string | null | undefined | void
Helper挙動
rules.required(message?)trim 後に非空
rules.email(message?)空または有効なメール
rules.min(length, message?)最小長さ
rules.max(length, message?)最大長さ
runRules(value, list)最初の失敗メッセージ、または undefined

vue
<script setup lang="ts">
import { ref } from 'vue'
import { Field, Input, rules } from 'pomikit-ui'

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

<template>
  <Field label="Password" required>
    <Input
      v-model="password"
      type="password"
      :rules="[
        rules.required(),
        rules.min(8, 'Use at least 8 characters'),
      ]"
    />
  </Field>
</template>

カスタム規則は通常の関数です。成功時は true(または nullish)、失敗時は文字列メッセージを返します。