teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

4.xのコードに修正

2020/10/23 00:07

投稿

nojimage
nojimage

スコア959

answer CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  ドキュメントに記載がありますので参照してください。
15
15
 
16
- [バリデーション 条件付き/動的なエラーメッセージ - CakePHP 3.9](https://book.cakephp.org/3/ja/core-libraries/validation.html#dynamic-validation-error-messages)
16
+ [バリデーション 条件付き/動的なエラーメッセージ - CakePHP 4.x](https://book.cakephp.org/4/ja/core-libraries/validation.html#dynamic-validation-error-messages)
17
17
 
18
18
  コールバック関数の第2引数に `$context` が渡され、入力値は `$context['data']` で取得できます。
19
19
 
@@ -21,14 +21,14 @@
21
21
 
22
22
  ドキュメントに記載がありますので参照してください。
23
23
 
24
- [バリデーション 条件付バリデーション - CakePHP 3.9](https://book.cakephp.org/3/ja/core-libraries/validation.html#id8)
24
+ [バリデーション 条件付バリデーション - CakePHP 4.x](https://book.cakephp.org/4/ja/core-libraries/validation.html#id8)
25
25
 
26
26
  ## 複数のバリデーションルールを定義し、それを切り替えて使う
27
27
 
28
28
  今回の例であれば、次のように対象のTableクラスへ2つのルールを追加します。
29
29
 
30
30
  ```php
31
- public function validationDefault(Validator $validator)
31
+ public function validationDefault(Validator $validator): Validator
32
32
  {
33
33
  // 共通のバリデーションルール定義
34
34
  $validator->notEmptyString("age", "必須項目です");
@@ -36,18 +36,18 @@
36
36
  return $validator;
37
37
  }
38
38
 
39
- public function validationA(Validator $validator)
39
+ public function validationA(Validator $validator): Validator
40
40
  {
41
- $this->validationDefault($validator); // 共通のルールを適用する
41
+ $validator = $this->validationDefault($validator); // 共通のルールを適用する
42
42
 
43
43
  $validator->notEmptyString("name", "必須項目です");
44
44
 
45
45
  return $validator;
46
46
  }
47
47
 
48
- public function validationB(Validator $validator)
48
+ public function validationB(Validator $validator): Validator
49
49
  {
50
- $this->validationDefault($validator); // 共通のルールを適用する
50
+ $validator = $this->validationDefault($validator); // 共通のルールを適用する
51
51
 
52
52
  $validator->notEmptyString("address", "必須項目です");
53
53
 
@@ -73,4 +73,4 @@
73
73
  $this->Samples->patchEntity($entity, $data, ['validate' => $validate]);
74
74
  ```
75
75
 
76
- 読んでね: [データの検証 アソシエーションに異なるバリデーションセットを使用 - CakePHP 3.9](https://book.cakephp.org/3/ja/orm/validation.html#using-different-validators-per-association)
76
+ 読んでね: [データの検証 アソシエーションに異なるバリデーションセットを使用 - CakePHP 4.x](https://book.cakephp.org/4/ja/orm/validation.html#using-different-validators-per-association)