2016-08-03 10 views
0

私はのいくつかの許可された質問タイプ調査ビルダーを実装しています。これらの種類は次のとおりです。Laravel 5でのデータベースチェックと同時に 'required_if'の検証

  1. シングル選択肢

1.とが複数の可能な答えを必要と

  • 星評価、複数の選択は、ユーザによって与えられるべき
  • 3.は、まったくの回答を必要としません。。これらの要件は、カラムにtrue/falseの値として格納されます。

    Iは、検証ルールを必要とする、という意志:

    answers[]配列が選択question_type's対応multiple_answersをデータベースでtrueに設定されているのみ場合、要求に存在することが必要です。ここで


    は私が達成しようとしているものの例示である:

    ...->validate($request, [ 
        'answers' => 'require_if:type,...' // <-- if 'type' has 'multiple_answers' set to true in database 
    ]); 
    
  • +0

    http://stackoverflow.com/questions/37935804/laravel-form-validation-with-logic-operators/38141214#38141214これは..あなたに感謝@Avishek – Avishek

    +0

    あなたを助けるかもしれないが、これは異なっています場合。私は**データベースの状態をチェックし、**それに基づいてフィールドを必要とする必要があります**。 –

    +0

    というのは、データベースの 'not null'カラムに'必須フィールド 'baseを追加したいということです。 – Avishek

    答えて

    1

    あなたがやりたいconditional validation rulesを作成することができます。第2パラメータとして指定されたルールは、第3パラメータとして指定された関数がtrueを返す場合にのみ評価されます。

    $v->sometimes('answers', 'required', function($input) { 
        // check database and return true if multiple_answers is set for the type ($input->type) 
    });