質問編集履歴

1

少し解決したため

2017/11/18 09:09

投稿

keng
keng

スコア32

test CHANGED
File without changes
test CHANGED
@@ -48,28 +48,24 @@
48
48
 
49
49
  ```
50
50
 
51
- れによりバリデーションはかかるようになした
51
+ こまででバリデーションは正しく動作していますが、エラーメッセージが**ポイントは1〜numまでの数値を入力してください。**というようになってしいます
52
52
 
53
53
 
54
54
 
55
- 次に参考にしたイトの別のペジにサービスプロバイダのbootメソッドの中下記のようにすると書かれていたので追記しました。
55
+ 次にサービスプロバイダを継承したValidatorServiceProvidorを作成し、そのbootメソッドの中下記追記しました。
56
56
 
57
57
  ```php
58
58
 
59
- Validator::replacer('foo', function($message, $attribute, $rule, $parameters) {
59
+ Validator::replacer('between', function($message, $attribute, $rule, $parameters) {
60
60
 
61
- return str_replace(...);
61
+ return str_replace(':max', $this->getAttribute($parameters[1]), $message);
62
62
 
63
63
  });
64
64
 
65
65
  ```
66
66
 
67
- fooの部分とstr_replaceの中身を書き換えなければいけないと思うのですが、fooはnumにstr_replaceの部分は**str_replace(':num', $this->getAttribute($parameters[1]), $message);**に書き換えまた。多分ここが間違っているのですがどうするべきなのかがわかりせん
67
+ ここで__Call to undefined function App\Providers\getAttribute()__のエラーが発生してしまいました
68
68
 
69
- エラーメッセージは**ポイントは1〜numまでの数値を入力してくださ。**というようになってしまいます
69
+ 色々試してますがうまくいきません、どしたらいでしょ
70
70
 
71
- ちなみにバリデーションのメッセージは**:attributeは:min〜:maxまでの数値を入力ださ。**となっています。
71
+ よろしくお願ます。
72
-
73
-
74
-
75
- また、はじめに実行してわざと引っ掛けた時にValidatorが見つからないと言われたのですが**use Illuminate\Support\Facades\Validator;**であっているのでしょうか