October CMS - 快速入門 19 - 表單驗證

針對上一節的表單添加驗證功能php

File:plugins\raiseinfo\contact\components\ContactForm.php

use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;

...

public function onSend()
    {

        $validator = Validator::make(
            [
                'name' => Input::get('name'),
                'email' => Input::get('email')
            ],
            [
                'name' => 'required|min:5',
                'email' => 'required|email'
            ]
        );


        if($validator->fails()){

            return Redirect::back()->withErrors($validator);

        }else{
            $vars = [
                'name' => Input::get('name'),
                'email' => Input::get('email'),
                'content' => Input::get('content')
            ];

            // views/mail/message/htm
            Mail::send('raiseinfo.contact::mail.message', $vars, function($message) {

                $message->to('tian5258@gmail.com', 'Admin Person');

                $message->subject('從聯繫人表單提交的郵件');

            });
        }

    }

顯示錯誤信息ui

File:plugins\raiseinfo\contact\components\contactform\default.htm

<form data-request="onSend">

    <label>姓名:</label>
    <input type="text" name="name" class="form-control">
    {{ errors.first('name') }}

    <label>郵件地址:</label>
    <input type="email" name="email" class="form-control">
    {{ errors.first('email') }}

    <label>信息:</label>
    <textarea name="content" class="form-control"></textarea>

    <button type="submit" class="btn btn-success form-control">發送</button>

    <ul>
        {% for error in errors.all() %}

            <li>{{ error }}</li>

        {% endfor %}
    </ul>


</form>

clipboard.png

相關文章
相關標籤/搜索