質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

469閲覧

LaravelのViewで複数Formでエラーチェクを分けたい

yamayamak

総合スコア131

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/09/07 12:54

編集2019/09/07 13:15

Laravel5.5を使っています。
Viewの中で複数のFormを利用しようとしています。
名前のInputがあった場合に変更するFormと削除するFormを分けています。

削除のFormを実行しようとすると名前に入力が無いとWebブラウザ上でinputタグの周りに赤くなってエラーになるのですが、このエラーチェックをFormごとに分ける方法をご教授ください。

よろしくお願いします。

view

1<form id="update-form" class="form-horizontal" method="POST" action="{{ route('user.update') }}"> 2 {{ csrf_field() }} 3 4 <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 5 <label for="name" class="col-md-4 control-label">名前</label> 6 <div class="col-md-6"> 7 <input id="name" type="text" class="form-control" name="name" value="{{ $name }}" required autofocus> 8 @if ($errors->has('name')) 9 <span class="help-block"> 10 <strong>{{ $errors->first('name') }}</strong> 11 </span> 12 @endif 13 </div> 14 </div> 15 <div class="form-group"> 16 <div class="col-md-offset-4 col-md-6"> 17 <button type="submit" class="btn btn-primary">設定</button> 18 </div> 19 </div> 20</form> 21<div class="col-md-offset-4 col-md-6 text-right"> 22 <button type='button' class='btn btn-danger' onClick='delChk()' >削除</button> 23</div> 24<form id="del-form" action="{{ route('user.delete') }}" method="GET" style="display: none;"> 25 {{ csrf_field() }} 26</form> 27<script type="text/javascript"> 28<!-- 29function delChk(){ 30 if(window.confirm('本当に削除しますか?')){ 31 document.getElementById('del-form').submit(); 32 } 33 return false; 34} 35// --> 36</script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mikkame

2019/09/07 16:06

エラーチェックとは? フロント側のバリデーションを指しているのか バックエンド側のバリデーションの事を指しているのかどちらですか
yamayamak

2019/09/07 23:51

ControllerのUserを処理するファイルには何も記載していません。Chromeの検証でNetworkで見ると、Formが両方とも実行されている(route('user.update')、route('user.delete')にアクセスしている)ように見えます。 Controllerに記載していないので、フロント側になるのでしょうか?サーバでエラーチェックしているように見えるのでバックエンド側になるのでしょうか? あまり理解できていませんが、上記のような状況です。
yamayamak

2019/09/07 23:58

すみません、Controllerで記載がありました。routeで以下の関数を呼び出しているのですが、 function user_update(UpdateRequest $request) { (省略) } UpdateRequestを以下で定義していました。 app/Http/Requests/UpdateRequest.php deleteも同じRequestを指定しているので変更すれば直りそうです。 function user_update(UpdateRequest $request) { (省略) } 【Request形式を変更】 function user_delete(Request $request) { (省略) }
guest

回答1

0

自己解決

function user_update(UpdateRequest $request) {
(省略)
}
【Request形式を変更】
function user_delete(Request $request) {
(省略)
}

して回復

投稿2019/09/07 23:59

yamayamak

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問