Webアプリケーションの開発中です。フォーム入力を検証する必要がある問題が発生しました。私はlaravelドキュメントに基づいて検証クラスを作成し、私のメソッドでクラスをヒントしました。問題は、私はすでにIlluminate \ Http \ Requestクラスを自分のメソッドにヒントを与えて、同じメソッドで自分のバリデーションクラスをヒントして、ページをリフレッシュするときに "禁止された"というメッセージが表示されることです。それが動作するようにLaravel 5.3 - メソッド内の2つの異なるリクエストクラスをヒンティングする
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Cookie\CookieJar;
use App\Http\Requests\ValidateCalculatorValues;
public function index($id, Request $request, ValidateCalculatorValues $calculatorInput, CookieJar $cookieJar)
{
// Code goes here
}
バリデーションクラス
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ValidateCalculatorValues extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'price' => 'required|numeric',
'deposit' => 'required|numeric',
'months' => 'required|numeric',
'interest' => 'required|numeric',
];
}
}
コントローラは、どのように私はこれをやって行くのですか?何か不足していますか?
のためにこれを行うことができますが、リターン 'true'にあなたのクラスの'オーソライズ() 'メソッドを変更してみてください? – phobia82
これはForbiddenのレスポンスを解決するように思えましたが、Firefoxはページが正しくリダイレクトされていないと私に伝えています。これは、ページが最初に読み込まれたときにフォームデータがないため、同じページにリダイレクトしようとしていて、効果的に無限ループを作成しているためです。フォームデータが提出されていない場合、チェックを行わないように設定する方法はありますか? – VenomRush