web-dev-qa-db-ja.com

Laravel 5の関連する各入力フィールドの横に検証エラーを表示する方法は?

デフォルトのソリューションは簡単です:

@if (count($errors) > 0)
<ul id="login-validation-errors" class="validation-errors">
    @foreach ($errors->all() as $error)
    <li class="validation-error-item">{{ $error }}</li>
    @endforeach
</ul>
@endif

と含めることができますerrors.blade.phpどこでも。

各要素を抽出して、失敗した値を保持する入力フィールドの横に表示する方法はありますか?

私は、各入力の隣に多くの条件付きifステートメントを定義する必要があると思いますよね?

この問題を分類するには?例を挙げてもらえますか?

ありがとう。

17
Matt Komarnicki

あなたはこのようなものを使うことができます:

<div class="form-group {{ $errors->has('name') ? 'has-error' : ''}}">
    <label for="name" class="col-sm-3 control-label">Name: </label>
    <div class="col-sm-6">
        <input class="form-control" required="required" name="name" type="text" id="name">
        {!! $errors->first('name', '<p class="help-block">:message</p>') !!}
    </div>
</div>
24
zorx

@Zorxは適切なソリューションを提供しています。しかし、複数のエラーがあり、それらすべてを一度に表示したい場合はどうでしょう。

あなたが使用できるドキュメントによると:

フィールドのすべてのエラーメッセージを取得する

foreach ($errors->get('email') as $message) {
//
}

配列フォームフィールドを検証する場合は、*文字を使用して、配列要素ごとにすべてのメッセージを取得できます。

foreach ($errors->get('attachments.*') as $message) {
//
}

すべてのフィールドのすべてのエラーメッセージを取得する

foreach ($errors->all() as $message) {
    //
}
2
Deepesh Thapa