Ich bin dabei, eine Web-App zu entwickeln, und ich bin auf ein Problem gestoßen, bei dem ich Formulareingabe validieren muss. Ich habe eine Validierungsklasse gemäß den Laravel-Dokumenten erstellt und die Klasse in meiner Methode typisiert. Das Problem ist, dass ich bereits den Illuminate \ Http \ Request-Klasse-Typ in meiner Methode angegeben habe und type-hinweise, dass meine Validierungsklasse in derselben Methode eine "Forbidden" -Nachricht anzeigt, wenn ich die Seite aktualisiere.Laravel 5.3 - Geben Sie zwei verschiedene Anfrageklassen in Methode
Validation Klasse
<?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',
];
}
}
-Controller
<?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
}
Wie kann ich über das tun dies gehen, damit es funktioniert? Fehle ich etwas?
können Sie zu ändern versuchen, die 'autorisieren()' Methode in Ihrer Klasse 'Rückkehr true'? – phobia82
Das schien die Forbidden Antwort zu lösen, aber jetzt sagt Firefox mir, dass die Seite nicht richtig weitergeleitet wird. Ich vermute, dass dies darauf zurückzuführen ist, dass beim ersten Laden der Seite keine Formulardaten vorhanden sind, und versucht daher, auf die gleiche Seite umzuleiten und effektiv eine Endlosschleife zu erstellen. Gibt es eine Möglichkeit, kann ich es nicht überprüfen, wenn keine Formulardaten eingereicht werden? – VenomRush