Laravel的create頁面和edit頁面共用表單,但是edit頁面有變數,create頁面沒有變數,能否共用?

來源:互聯網
上載者:User
關鍵字 php laravel
Laravel的create頁面和edit頁面共用表單,
但是edit的view頁面有變數,就是從控制器中把查詢出來的內容,然後return到view,
而create的控制器,是沒有資料返回的,
這樣,共用表單就會在create時報錯,說有未定義的變數,
怎麼破?

回複內容:

Laravel的create頁面和edit頁面共用表單,
但是edit的view頁面有變數,就是從控制器中把查詢出來的內容,然後return到view,
而create的控制器,是沒有資料返回的,
這樣,共用表單就會在create時報錯,說有未定義的變數,
怎麼破?

直接一份就可以了

假設你返回給blade模板引擎一個模型變數$post,同時使用了web中介軟體(session支援),你可以這樣共用一個form.blade.php,:

一、保留舊的輸入項目(使用old方法),比如提交表單,但驗證失敗,頁面在提交重新整理後,保留上次提交資料

二、不需要保留舊的輸入項目

寫兩份或者在需要的地方檢查變數是否存在

不需要寫兩份,
建立一個form.blade.php,儲存表單選項,用isset判斷是否存在再輸出,或者你用Forms & HTML builder更容易

如果是自己寫的input表單,那麼這樣寫:

如果使用了laravel的Form ,那麼將更加簡潔:
create.blade.php中:

{!! Form::open(['url'=>'article']) !!}        @include('article._form', ['submitButton'=>'添加文章']){!! Form::close() !!}

edit.blade.php

{!! Form::model($article, ['method'=>'PATCH', 'url'=>['article', $article->id]]) !!}        @include('article._form', ['submitButton'=> '修改文章']){!! Form::close() !!}

那麼,需要一個公用的表單部分:_form.blade.php,就是表單部分

我覺得不要為了使用一個架構而使用一個架構,laravel為我們提供了很多的便捷的操作,如果在使用這款架構,就應該試著去接受他們

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.