Author: ymikome

バリデーション (8) 配列をバリデーションする

laravel 5.2 で、バリデーションルールに配列を表す .* というプレースホルダーが使えるようになりました。 例えば、次のような商品オプションのバリデーションを考えます。 入力行の追加UIやドラッグ&ドロップによるソートはjQueryなどで実装することにします(laravel から離れるので解説は省きます) この場合、項目数がいくつになるかわからないので、エレメントの属性名を name="option_name" などとし、配列を返すように作りますよね。

バリデーション (7) エラーメッセージのリプレーサー

等号を含む日付の最大最小 日付の最大最小 after, before の比較はなぜか等号を含みません。英単語の意味を厳格にプログラム仕様に落とし込んだようですが、実際の使い勝手としては等号を含んでほしかったところです。 これを等号を含むように拡張してしまうと、前回の min, max を拡張したのと違って意味が変わってしまいます。 そこで、start, end を新たに作成して追加してみましょう。

バリデーション (6) 他の属性の値を参照

日付の最大最小 after, before では、引数に値(日付)を与えるだけでなく、比較対象の属性の名前を与えることができます。 むしろ具体的な日付を引数にすることのほうがまれでしょう。 このような使い方は、数値型の最大最小 min, max でも使用したいこともありますよね?

バリデーション (5) 最大値と最小値

バリデーション言語ファイルを編集するときにお気づきと思いますが、Laravel標準バリデーション Max と Min は(他に Size、Between も)調査対象の属性の型でその挙動を変えます。 ここで問題となるのは、文字列型が入力した文字数カウントとの比較になることです。文字列比較の大小によるバリデーションは存在してません。

バリデーション (3) 既存バリデーションの置き換え

Laravelには最初から利用可能なバリデーションルールが多数存在していますが、そのいくつかは実用にならなかったり、自分好みに挙動を変えたりしたいこともあります。 CustomValidator クラスは標準 Validator を継承していますので、これらを置き換えて上書きすることが可能です。 vendor/laravel/framework/src/Illuminate/Validation/Validator.php

バリデーション (2) CustomValidatorを追加

カスタムバリデーションのクラスを追加するには、サービスプロバイダーで次のようにクラスを登録します。 追加するクラスの名前や位置はどのようなものでもかまいせん。ここでは、ディレクトリパス app/Services に CustomVaidator.phpを作成し、AppServiceProvider に登録することにします。

バリデーション(1)Validatorファサードのextend

はじめまして。ブログ主筆khino氏と同じプロジェクトで仕事をしてます。 彼とは別テーマを平行して掲載しますので、これまで順番に読み進めていた方にはちょっと読みにくくなるかもしれませんが、ご容赦ください。 私の最初のテーマはカスタムバリデーションルールです。 このシリーズでは、Validatorファサードの基本的な使い方から始めて、より複雑なルールの定義の仕方や、laravel 5.2で追加された配列定義のカスタムバリデーションまで紹介する予定です。