Laravel 表单验证
创建一个request验证文件
php artisan make:request ArticlesRequest Request created successfully.
文件内容如下:
app/Http/Requests/ArticlesRequest.php< ?phpnamespace App\Http\Requests;use App\Http\Requests\Request;class ArticlesRequest extends Request{ /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; //这个是管理权限的,暂时先设置为true,全部权限可用 } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'title'=>'required', //这里是指定验证的项目,和验证的规则,以数组的方式编写 'content'=>'required' ]; }}
验证规则参考官网: https://laravel.com/docs/5.2/validation
修改controller的store方法
app/Http/Requests/ArticlesRequest.phpuse App\Http\Requests\ArticlesRequest;// public function store(Request $requests){ public function store(ArticlesRequest $requests){ //这里传入的是刚才创建的ArticlesRequest的实例 Articles::create($requests->all()); return redirect('/articles'); }
因为现在增加了验证,所以对store方法的进入的请求request都会进行过滤,但是直接过滤就不知道成功和失败了,所以要额外增加一个提示
resources/views/articles/create.blade.php@extends('layout.app')@section('content') <h1 id="创建文章">创建文章</h1> {!! Form::open(['url'=>'/articles/store']) !!} <!--- Title Field ---> <div class="form-group"> {!! Form::label('title', 'Title:') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!} </div> <!--- Content Field ---> <div class="form-group"> {!! Form::label('content', 'Content:') !!} {!! Form::textarea('content', null, ['class' => 'form-control']) !!} </div> <!--- Field ---> <div class="form-group"> {!! Form::label('publish_at', 'publish_at:') !!} {!! Form::date('publish_at', date('Y-m-d'), ['class' => 'form-control']) !!} </div> {!! Form::submit('发表文章',['class'=>'btn btn-primary form-control']) !!} {!! Form::close() !!} @if($errors->any()) //增加这里,$errors变量是laravel提供的,就是捕获这些出错而保存的变量,是一个数组 <ul class="list-group"> @foreach($errors->all() as $error) //所以需要循环变量数组,获取最终报错信息 <li class="list-group-item list-group-item-danger">{{$error}}</li> @endforeach </ul> @endif@stop
需要注意的是,在laravel 5.2里面,$errors变量需要在中间件web里面才会存在,如果不是的话,laravel会报错,Undefined variable: errors。
正常情况下,触发验证规则的报错弹出提示会在网页中显示,例如
The title field is required.The content field is required.
重写报错提示信息,例如改成中文提示,需要在request文件里面重写messages方法,文件内默认没有,所以我们需要添加
app/Http/Requests/ArticlesRequest.php public function messages() { return [ 'title.required' => '这个标题是必须的!', //例如这样就会匹配标题required的规则,然后触发你的提示 'body.required' => '这个身体是必须的!', ]; }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die PHP -Protokollierung ist für die Überwachung und Debugie von Webanwendungen von wesentlicher Bedeutung sowie für das Erfassen kritischer Ereignisse, Fehler und Laufzeitverhalten. Es bietet wertvolle Einblicke in die Systemleistung, hilft bei der Identifizierung von Problemen und unterstützt eine schnellere Fehlerbehebung

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Alipay PHP ...

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.
