您好,登錄后才能下訂單哦!
這篇“Laravel發電子郵件之如何創建表單”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“Laravel發電子郵件之如何創建表單”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。
Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。
引言
電子郵件從其誕生以來就大大地提升了人們的效率,傳統的綠色的郵箱那種送信方式,已經被傳輸在光纜上的一束束通訊信息取代。
電子郵件同時帶來了垃圾信息的侵擾,隨著國內社交類APP的普及,電子郵箱漸漸地趨于專業化。
先準備一個表單,把郵件需要的數據準備好。
創建Form表單
首先使用命令行創建一個restful風格的控制器:
php artisan make:controller ContactController
接著在 routes/web.php 路由文件內注冊資源類路由地址:
Route::get('contact', 'ContactController@create')->name('contact.create'); Route::post('contact', 'ContactController@store')->name('contact.store');
我們先實現 create方法渲染表單的視圖:
namespace App\Http\Controllers;use Illuminate\Http\Request; use App\Http\Requests; class ContactController extends Controller { public function create() { return view('contact.create'); }
然后用我們講過的 FormBuilder 創建一個發電子郵件的表單,主要字段有
name : 發送方姓名
email : 接收方的電子郵箱地址
msg : 郵件內容
下面是視圖文件內表單的輸入字段:
{!! Form::open(['route' => 'contact.store']) !!}<p class="form-group"> {!! Form::label('name', 'Your Name') !!} {!! Form::text('name', null, ['class' => 'form-control']) !!}</p><p class="form-group"> {!! Form::label('email', 'E-mail Address') !!} {!! Form::text('email', null, ['class' => 'form-control']) !!}</p><p class="form-group"> {!! Form::textarea('msg', null, ['class' => 'form-control']) !!}</p>{!! Form::submit('Submit', ['class' => 'btn btn-info']) !!}{!! Form::close() !!}
注意表單是包裹在 open 與 close 之間的。
驗證數據
表單創建之后,我們要寫接收表單數據的方法,在接收處理之前,一定要對數據的有效性進行驗證。
還記得我們前面講的內容嗎,使用 FormRequest 對象驗證表單字段。
在命令行創建一個表單驗證器:
php artisan make:request ContactFormRequest
為了簡化邏輯起見,我們要多所有調用該驗證器的代碼,無論任何權限都要強制驗證。修改 authorize 方法:
public function authorize(){ return true;}
然后定義驗證規則,內置的規則足夠了:
public function rules(){ return [ 'name' => 'required', 'email' => 'required|email', 'msg' => 'required' ];}
組合起來
有了表單提交,有了驗證器,我們接著要處理這些數據,并寫入數據庫。在控制器 ContactController 的 store 方法內寫入如下代碼。
在頭部引入驗證器:
use App\Http\Requests\ContactFormRequest;
使用依賴注入方式調用:
public function store(ContactFormRequest $request){ $contact = []; $contact['name'] = $request->get('name'); $contact['email'] = $request->get('email'); $contact['msg'] = $request->get('msg'); // 郵件發送邏輯代碼 return redirect()->route('contact.create');}
以上是“Laravel發電子郵件之如何創建表單”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。