2017-05-02 4 views
0

Sehr neu in Laravel. Ich versuche, ein einfaches Kontaktformular einzurichten, um mich damit vertraut zu machen. I senden die Formulardaten über Ajax und I verarbeiten jeden Eingang mit diesem in JavaScript:führen Sie jede Eingabeanforderung durch eine Funktion in Laravel

encodeURIComponent($("#contact-name").val()) 

Wie kann ich alle diese Eingänge durch

urldecode() 

auf der PHP-Seite laufen, ohne manuell auf jede tun ein?

Zum Beispiel möchte ich dies verwenden:

$this->validate($request, [ 
     'name' => 'required', 
     'email' => 'required|email', 
     'message' => 'required' 
]); 

und ich kann nicht, weil die @ in einer E-Mail-Adresse codiert wird, so dass die Gültigkeitsregel für gültige E-Mail false zurückgibt.

Ich muss alle Eingaben in der Anfrage durch urldecode() laufen lassen und dann zurück setzen, damit ich alle praktischen Sachen verwenden kann, die Laravel zu bieten hat.

Antwort

1

kurz bevor Sie $ this-> bestätigen (..., schreiben Sie folgenden Code:.!

foreach($request->all() as $key => $value) 
{ 
    $request->merge(array($key => urldecode($value))); 
} 

über foreach-Schleife wird alle Eingabefelder mit ihren urldecoded Werte

+0

Hervorragende Lösung ersetzen I Ich kann nicht glauben, dass ich die Merge-Methode von $ request verpasst habe, nachdem ich die Dokumente durchgelesen habe. – user2287474

Verwandte Themen