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:'円'" />