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