email : 接收方的電子郵箱地址
msg : 郵件內容
下面是視圖文件內表單的輸入字段:
{!! 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 之間的。
驗證數據
表單創(chuàng)建之后,我們要寫接收表單數據的方法,在接收處理之前,一定要對數據的有效性進行驗證。 還記得我們前面講的內容嗎,使用 FormRequest 對象驗證表單字段。
在命令行創(chuàng)建一個表單驗證器:
php artisan make:request ContactFormRequest
為了簡化邏輯起見,我們要多所有調用該驗證器的代碼,無論任何權限都要強制驗證。修改 authorize方法:
public function authorize()
{
return true;
}
然后定義驗證規(guī)則,內置的規(guī)則足夠了:
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\\\’);
// 郵件發(fā)送邏輯代碼
return redirect()->route(\\\’contact.create\\\’);
}
寫在最后
發(fā)送郵件是一件操作系統(tǒng)與應用程序綜合起來的事情,上面第三節(jié)中郵件發(fā)送的邏輯代碼, 我們在下一篇文章給出。
本文雖小,卻講述了從表單到驗證再到數據交互的方方面面,從中可對laravel處理流程有所了解。
Happy coding ??
來源:@程序員小助手
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問西部數碼官網:youyuetrip.com