Ich habe einen Kunden Anfrage wie folgt:Laravel - assoziatives Array Validierung in einer benutzerdefinierten Anfrage
<textarea name="intro[en]"></textarea>
<textarea name="intro[fr]"></textarea>
<textarea name="intro[de]"></textarea>
Ich Validieren es mit einem benutzerdefinierten Anfrage:
class UpdateProfileRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'intro.*' => 'required|max:100'
];
}
}
Der Validator nicht funktioniert. Ich denke, das liegt daran, dass das. * Nur für nummerierte Arrays und nicht für assoziative Arrays funktioniert.
Ich bin nicht sicher, wie man das macht.
Gibt es eine Möglichkeit, dies mit einer benutzerdefinierten Anforderung wie diesem zu tun? Wenn ja, wie lautet die Syntax?
Ansonsten, was soll ich tun. Ich schrieb bereits einige benutzerdefinierte Code innerhalb der Controller-Methode wie folgt aus:
$hasIntro = false;
$hasBio = false;
foreach($request->get('intro') as $language => $localIntro)
{
if(!empty($request->get('intro')[$language]))
{
$hasIntro = true;
}
}
if(!$hasIntro or !$hasBio)
{
return redirect()->back()->withErrors('You must enter at least 1 Bio and 1 Intro');
}
Welche denke ich, eine manuelle Weg sein könnte, darüber zu gehen. Obwohl ich glaube, dass withErrors einen Validator benötigt, bin ich wieder bei demselben Problem ... Obwohl es vielleicht einen Weg gibt, dies manuell zu tun?
Meine ideale Lösung ist, die assoziative Array-Syntax zu finden, wenn diese tatsächlich existiert?
Verwendung foreach-Schleife mit Regeln – Bugfixer