email : 接收方的電子郵箱地址
msg : 郵件內(nèi)容
下面是視圖文件內(nèi)表單的輸入字段:

{!! Form::open([\\\’route\\\’ => \\\’contact.store\\\’]) !!}

<div class=form-group>

{!! Form::label(\\\’name\\\’, \\\’Your Name\\\’) !!}

{!! Form::text(\\\’name\\\’, null, [\\\’class\\\’ => \\\’form-control\\\’]) !!}

</div>

<div class=form-group>

{!! Form::label(\\\’email\\\’, \\\’E-mail Address\\\’) !!}

{!! Form::text(\\\’email\\\’, null, [\\\’class\\\’ => \\\’form-control\\\’]) !!}

</div>

<div class=form-group>

{!! Form::textarea(\\\’msg\\\’, null, [\\\’class\\\’ => \\\’form-control\\\’]) !!}

</div>

{!! Form::submit(\\\’Submit\\\’, [\\\’class\\\’ => \\\’btn btn-info\\\’]) !!}

{!! Form::close() !!}

注意表單是包裹在 open與 close 之間的。

驗證數(shù)據(jù)

表單創(chuàng)建之后,我們要寫接收表單數(shù)據(jù)的方法,在接收處理之前,一定要對數(shù)據(jù)的有效性進行驗證。 還記得我們前面講的內(nèi)容嗎,使用 FormRequest 對象驗證表單字段。

在命令行創(chuàng)建一個表單驗證器:

php artisan make:request ContactFormRequest

為了簡化邏輯起見,我們要多所有調用該驗證器的代碼,無論任何權限都要強制驗證。修改 authorize方法:

public function authorize()

{

return true;

}

然后定義驗證規(guī)則,內(nèi)置的規(guī)則足夠了:

public function rules()

{

return [

\\\’name\\\’ => \\\’required\\\’,

\\\’email\\\’ => \\\’required|email\\\’,

\\\’msg\\\’ => \\\’required\\\’

];

}

組合起來

有了表單提交,有了驗證器,我們接著要處理這些數(shù)據(jù),并寫入數(shù)據(jù)庫。在控制器 ContactController的 store 方法內(nèi)寫入如下代碼。 在頭部引入驗證器:

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\\\’);

// 郵件發(fā)送邏輯代碼

return redirect()->route(\\\’contact.create\\\’);

}

寫在最后

發(fā)送郵件是一件操作系統(tǒng)與應用程序綜合起來的事情,上面第三節(jié)中郵件發(fā)送的邏輯代碼, 我們在下一篇文章給出。

本文雖小,卻講述了從表單到驗證再到數(shù)據(jù)交互的方方面面,從中可對laravel處理流程有所了解。

Happy coding ??

來源:@程序員小助手

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯(lián)官網(wǎng):www.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享網(wǎng)絡內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明出處:三五互聯(lián)知識庫 » 用Laravel發(fā)一封“漂洋過海”的電子郵件

登錄

找回密碼

注冊