0

非常に強力な Laravel 4 の検証ルールを使用しています。ただし、発生する可能性のあるさまざまな検証エラーをどのように区別できるのでしょうか。たとえば、次のルールを使用するとします。

$rules = array(
  'email'  => 'required|email|confirmed',
  'email_confirmation' => 'required|email',
);

特定のフィールドでエラーを引き起こした検証ルールを確認するにはどうすればよいですか? エラーの原因が電子メールの値の欠落、電子メールが有効な電子メール アドレスではなかった、および/または電子メールを確認できなかったことを確認する方法はありますか?

1週間前にlaravelを使い始めたので、私はlaravelにまったく慣れていないので、誰かがこれに光を当ててくれることを願っています。

4

2 に答える 2

2

特定の属性のエラー メッセージを取得できます。

$errors = $validation->errors->get('email');

そして、エラーをループします

foreach ($errors as $error) { print $error; }

またはすべてのエラーメッセージを取得します

$errors = $validation->errors->all();

次に、エラーメッセージをループします

foreach ($errors as $error) { print $error; }

laravel 検証の詳細については、こちらを参照してください

于 2013-01-22T14:11:16.067 に答える
2

検証インスタンスによって返される検証メッセージには、何が問題なのかを知るための鍵が含まれている必要があります。

以下を使用して、バリデーターオブジェクトによって提供されるメッセージにアクセスできます。

$messages = $validator->messages(); // Where $validator is your validator instance.
$messages = $messages->all()

MessageBagこれにより、 foreach ループで実行できるオブジェクトのインスタンスが得られるはずです。

foreach ($messages as $message) {
    print $message;
}

そして、その中に答えが見つかるはずです。つまり、「電子メールの確認は「電子メール」フィールドと一致する必要があります」などのメッセージが表示されます。

于 2013-01-22T10:29:36.050 に答える