【PHP】purephp-validation機能追加(0.0.3)

Laravel

前回の記事で紹介した、LaravelのValidatorをピュアPHPで使用するライブラリ

purephp-validationに機能追加しました。

オブジェクトのインスタンス判定(instanceof)

をルール追加できるようにする

Instanceルールオブジェクトを追加しました。

Instanceルールオブジェクトの使い方

Instanceルールオブジェクト

「Macocci7\PurephpValidation\Rules\Instance」

の「Instance::of()」メソッドで引数にクラス名を指定することで、

「$value instanceof $class」のような判定をルール追加することができます。

use Macocci7\PurephpValidation\Rules\Instance;

$validator = Validator::make(
    data: $data,
    rules: [
        'prop1' => Instance::of(Instance::class),
        'prop2' => Instance::of([
            // Macocci7\PurephpValidation\Rules\Instance
            Instance::class,
            // Macocci7\PurephpValidation\ValidatorFactory
            Validator::class,
            // Closure
            (fn () => true)::class,
        ]),
        'prop3' => Instance::of('Closure'),
    ],
);

▼実行結果

Translation keyは「validation.instance」となっています。

メッセージの定義は次のようになっています。

    'instance' => 'The :attribute must be an instance of: :classes.',

一応、日本語のメッセージも追加しています。

    'instance' => ':attributeは次のいずれかのインスタンスを指定してください: :classes.',

以上です。

コメント

タイトルとURLをコピーしました