でHTMLフォームを送信することはアクションです:Laravel&Ajaxはここでエラー
public function postMessageAjax(Request $request)
{
$this->validate($request, [
'username' => 'required|string|regex:/^[a-zA-Z\d]+$/',
'email' => 'required|string|email',
'homepage' => 'nullable|string|url',
'text' => 'string',
'captcha' => 'required|captcha',
],
[
'captcha.captcha' => 'The captcha is incorrect',
'username.regex' => 'Use English letters and digits only',
]);
$message = new Message();
$message->username = $request->get('username');
$message->email = $request->get('email');
$message->homepage = $request->get('homepage');
$message->text = strip_tags($request->get('text'));
$message->ip = $request->ip();
$message->browser = get_browser($request->header('User-Agent'))->browser;
$message->save();
return view('Guestbook.postMessage');
}
そして、ここでは図である。
{!! BootForm::open(['id' => 'messageForm']) !!}
{!! BootForm::text('username') !!}
{!! BootForm::email('email') !!}
{!! BootForm::text('homepage') !!}
{!! BootForm::textarea('text') !!}
{!! captcha_img('flat') !!}
{!! BootForm::text('captcha') !!}
{!! BootForm::submit('Send') !!}
{!! BootForm::close() !!}
問題はLaravelは何とかそれはAjaxリクエストであると判断していることですフォームのHTMLコードと各入力のエラーメッセージを個別に取得するのではなく、エラーのJSON(存在する場合)をResponseに設定します。問題は、Ajaxを経由していないようなエラーを表示するにはどうすればよいのでしょうか?
UPDATE:これは私が(彼らが存在している場合、フォーム自体とエラー)を取得したいものです。@OuailBについては
:
私はしましたちょうど私が通常のPOST要求をするとき、GET要求を通して同じページにリダイレクトされるので、エラーメッセージが実際にGETの本体に表示されるように見えます。POSTではなく、多分方法はありません。私はあなたの助けに感謝します。
I geフォームはありますが、そこにはエラーはありません。 – Razip
あなたはエラーを表示するためにいくつかのコードを追加する必要があります、私は私の投稿を編集しました – OuailB
それは画像にどのようにする方法はありません? – Razip