在Laravel中如何處理Form表單

這篇文章主要介紹在Laravel中如何處理Form表單,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站定制服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都企業(yè)網(wǎng)站定制及推廣,對成都PVC花箱等多個行業(yè)擁有豐富設計經(jīng)驗的網(wǎng)站建設公司。

使用 Form Package

雖然寫原生的 HTML 代碼可讀性確實高了,但是其實 Form Package 還是會帶給我們很多的便利,比如在使用 Form::model() 和 Form::select() 的時候。

想象這樣一個例子:我們需要添加或者更新用戶的用戶名

我們可以設計類似這樣的代碼和目錄結構:

// 位于 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表單”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標題:在Laravel中如何處理Form表單
鏈接URL:http://bm7419.com/article24/jdepje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、云服務器、手機網(wǎng)站建設App設計、微信小程序、關鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司