Skip to main content

blocs/blocs: 入力値フィルター(data-filter)

blocs/blocs: 入力値フィルター(data-filter)

data-filter は入力値をバリデーション前に指定した形式へ変換します。data-convert(表示専用)と異なり、実際の値そのものを変換します。タグ記法でのみ使用可能です。

複数フィルターはパイプ(|)で連結します。

サンプルコード

<input type="text" name="name" data-filter="katakana" />

利用可能な変換形式一覧

独自のフィルター関数を作成して指定することも可能です。

data-filterの値 変換内容
single 半角文字列に変換
multi 全角文字列に変換
hiragana ひらがなに変換
katakana 全角カタカナに変換
halfKatakana 半角カタカナに変換
antiHalfKatakana 半角カタカナのみ全角に変換
phone 電話番号の形式に整形
postal 郵便番号の形式に整形
datepicker 日付の形式に整形

上記に加え、PHP の組み込み関数(例: trim)やクラスの public static メソッドも指定できます。複数指定する場合はパイプ(|)で連結します(例: data-filter="trim|katakana")。

独自の変換ロジックを追加する方法

1. 独自フィルター関数を定義

public static メソッドとして定義します。

public static function unit($str, $parameter1)
{
    return $str . $parameter1;
}

2. テンプレートで呼び出す

コロン(:)で区切って引数を渡せます。

<input type="text" name="name" data-filter="App\\Http\\Controllers\\Admin\\UserController::unit:'円'" />