您好,登錄后才能下訂單哦!
這篇文章主要介紹在Laravel中如何處理Form表單,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
使用 Form Package
雖然寫原生的 HTML 代碼可讀性確實高了,但是其實 Form Package 還是會帶給我們很多的便利,比如在使用 Form::model() 和 Form::select() 的時候。
想象這樣一個例子:我們需要添加或者更新用戶的用戶名
我們可以設(shè)計類似這樣的代碼和目錄結(jié)構(gòu):
// 位于 resources/views/users/edit.blade.php {!! Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'put']) !!} @include('users._form') // Your cancel / update buttons {!! Form::close() !!} // 位于 resources/views/users/_form.blade.php <div class="form-group"> {!! Form::label('name', 'Name') !!} {!! Form::text('name') !!} </div>
上面的 Form 生成的 HTML 代碼大概是這個樣子:
<form method="POST" action="http://example.com/users/1" accept-charset="UTF-8"> <input name="_token" type="hidden" value="Q5oILhAr92pVqfE0ZSSXjSdJuUi09DVSPWweHQlq"> <input name="_method" type="hidden" value="PUT"> <div class="form-group"> <label for="name">Name</label> <input name="name" type="text" value="Michael"> </div> </form>
注意在 Form::model() 方法中,我們之間傳遞了 $user 變量,這也就是說:如果 $user 存在 name 屬性的值,表單就會自動填充該值,都不用我們手動寫。
第二點就是,既然我們是要傳遞 $user 到 Form::model() 中,我們可以在控制器中使用這樣的小技巧:
class UserController extends Controller { public function create() { return view('users.create', ['user' => new User]); } public function edit(User $user) { return view('users.edit', ['user' => $user]); } }
這樣的話,你在編輯和新增的時候都不會存在沖突,編輯更新的時候有 name 的值,新增的時候就不用有 name 的值。所以我們可以把整個 Form 表單寫成類似下面這個:
// 位于 resources/views/users/_form.blade.php <div class="form-group"> <label for="name">Name</label> <input type="text" name="name" value="{{ old('name', $user->name) }}" class="form-control"> </div>
這樣就大功告成啦!
以上是“在Laravel中如何處理Form表單”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。