LoginSignup
0
0

More than 5 years have passed since last update.

CakePHP / validate で エラーコードなどを受け取る強引なやり方

Posted at

タイトルの通り強引なやり方で validate rule ごとの配列(エラーコードなど)を受け取る方法です。公式ドキュメントにも載っていないのですが、一応動作したのでメモメモ。

messge を配列で受け取る

やり方はいたって簡単で message の中身を配列にするだけです。

通常の message

通常のサンプルとして以下のようなものがあったとします。

public $validate = [
    'name' => [
        'maxLength' => [
            'rule' => ['maxLength', 60],
            'required' => true,
            'allowEmpty' => false,
            'message' => 'タスクを入力してください'
        ],
    ],
];

配列を書いてみる

下記のように message に配列入れてあげると、 validationErrors などでも配列で受け取ることができます。

public $validate = [
    'name' => [
        'maxLength' => [
            'rule' => ['maxLength', 60],
            'required' => true,
            'allowEmpty' => false,
            'message' => [
                'code' => 'E1234',
                'message' => 'タスクを入力してください'
            ],
        ],
    ],
];

注意

ただし、 FormHelper 側では message の配列が処理されません。
FormHelper を使わないシーンで利用できるとは思いますが、公式なやり方ではないのでご注意ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0