国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Laravel 5 基礎(chǔ)(十一)- 表單驗(yàn)證

2019-11-15 02:08:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Laravel 5 基礎(chǔ)(十一)- 表單驗(yàn)證

在建立一個(gè)文章的時(shí)候,如果你什么都不輸入直接提交,ok,你獲得了一個(gè)空的文章,沒(méi)有任何錯(cuò)誤提示,這是不對(duì)的。在命令行下運(yùn)行 php artisan 可以看到一個(gè)選項(xiàng) make:request,新建一個(gè)form request類(lèi)。在命令行執(zhí)行

php artisan make:request CreateArticleRequest

生成的文件在 app/http/requests 目錄下。在文件中我們可以看到兩個(gè)方法:

public function authorize(){return false;}public function rules(){return [//];}

authorize 表示用戶(hù)在提交表單的時(shí)候是否需要是認(rèn)證用戶(hù),我們不需要認(rèn)證,返回 true。rules是我們的規(guī)則方法。讓我們修改這個(gè)方法:

public function authorize(){//修改為 true,表示不需要認(rèn)證,或者是通過(guò)認(rèn)證return true;}public function rules(){return ['title' => 'required|min:3',        'body' => 'required',        'published_at' => 'required|date'];}

其他的約束可以插看 laravel 的文檔。上面的約束表示 title 是必須輸入的,最少3個(gè)字符,body 是必須的,published_at 是必須的而且是日期。

在視圖中,我們總是可以訪(fǎng)問(wèn) $errors 變量來(lái)判斷我們是否有錯(cuò)誤,修改視圖

    @if ($errors->any())        <ul class="alert alert-danger">            @foreach($errors->all() as $error)                <li>{{ $error }}</li>            @endforeach        </ul>    @endif        {{--使用我們添加的 illuminate/html 開(kāi)源庫(kù)--}}    {!! Form::open(['url' => 'articles']) !!}

修改控制器,引入我們的 Request 類(lèi)。

    public function store(Requests/CreateArticleRequest $request) {        Article::create($request->all());        return redirect('articles');    }

再次提交表單,什么都不填,可以看到錯(cuò)誤信息。

修改提示信息變?yōu)橹形?p>顯示的是英文的錯(cuò)誤信息,實(shí)際上laravel考慮到了國(guó)際化的問(wèn)題,首先修改 config/app.php

'locale' => 'zh',

將 locale 語(yǔ)言設(shè)置為中文,然后再 resources/lang 下面新建文件夾 zh, 拷貝 resources/lang/en/validation.php 文件到 zh 目錄下,修改:

"min"                  => ["numeric" => "The :attribute must be at least :min.","file"    => "The :attribute must be at least :min kilobytes.","string"  => ":attribute 至少要包含 :min 字符。","array"   => "The :attribute must have at least :min items.",],"required"             => ":attribute 必須填寫(xiě)。",

其他的可以自行翻譯。再次提交空表單,錯(cuò)誤信息為中文了。而且 min:3 的判斷也為最少3個(gè)中文。

--

laravel 也在控制器中集成了 validate 方法,換句話(huà)說(shuō),我們不一定要生成 request 類(lèi),這些工作我們可以直接在控制器中完成。

修改控制器:

 //注意 Request 的命名空間,不要弄錯(cuò)了    public function store(/Illuminate/Http/Request $request) {        $this->validate($request, [            'title' => 'required|min:3',            'body' => 'required',            'published_at' => 'required|date'        ]);        Article::create($request->all());        return redirect('articles');    }

結(jié)果相同,這樣可以更快速的完成簡(jiǎn)單的驗(yàn)證。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 秭归县| 五寨县| 饶阳县| 仁寿县| 林口县| 弥渡县| 阳春市| 广宁县| 巨野县| 盘锦市| 桑日县| 金山区| 潮安县| 新晃| 汶上县| 钦州市| 图木舒克市| 柏乡县| 广饶县| 花垣县| 青州市| 徐闻县| 湖北省| 射阳县| 黑河市| 都江堰市| 陆良县| 洪湖市| 棋牌| 四会市| 阿图什市| 芷江| 积石山| 吕梁市| 望城县| 腾冲县| 定州市| 巧家县| 肥东县| 山西省| 吉首市|