2017-06-06 22 views
2

私のlaravel 5.4アプリケーションに登録フォームがあり、サーバー側の検証にlaravel form request validationが使用されています。このフォームの一部のフィールドは、ユーザー入力に対して検証する必要があるjavascriptの計算を使用して動的に取り込まれます。laravelフォームリクエストの検証に関するカスタマイズされた検証ルール

フォームのユーザー入力フィールドは、'quantity','rate'および'discount'です。

入力されたフィールドは'total''bill_amount'です。私が検証するために必要なもの

は以下のとおりです。

  1. チェックの総 ' '量' に等しい* '率'。
  2. 「総」に等しい「bill_amount」チェック - 私はこの検証のためのlaravelフォーム要求の検証方法を好むだろう「率」

。私はAfter Hooksconditionally adding ruleなどのメソッドを使用しようとし、失敗しました。簡単な言葉で

要件は次のとおりです。事前にフィールドは、他の2つのフィールドの積に等しいかどうかを確認し、invalidate if not equalvalidate if equal(。フォーム要求の検証を使用して)

ありがとう!

答えて

0

私はこのソリューションを見つけることができました。

フォーム要求フックは結果を達成するために使用することができた後: を

public function withValidator($validator) 
    { 
     $quanty  = $this->request->get("quantity"); 
     $rate  = $this->request->get("rate"); 
     $billAmount = $this->request->get("bill_amount"); 

     $validator->after(function ($validator) { 
      if(($quanty * $rate) != $billAmount) { 
       $validator->errors()->add('bill_amount', 'Something went wrong with this field!'); 
      } 
     }); 
    } 
[私は前にこのロジックを見つけることができませんでした]
関連する問題