溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Laravel發(fā)電子郵件之如何創(chuàng)建表單

發(fā)布時(shí)間:2021-03-02 10:56:49 來源:億速云 閱讀:189 作者:清風(fēng) 欄目:編程語言

這篇“Laravel發(fā)電子郵件之如何創(chuàng)建表單”文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要參考一下,對(duì)于“Laravel發(fā)電子郵件之如何創(chuàng)建表單”,小編整理了以下知識(shí)點(diǎn),請(qǐng)大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進(jìn)入主題吧。

Laravel 是什么

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() !!}

注意表單是包裹在 openclose 之間的。

驗(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ù)庫。在控制器 ContactControllerstore 方法內(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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI