この記事の内容は、laravel5.4 フレームワークの vue.js によって実装された Ajax フォーム送信エラー検証について共有することです。これは一定の参考価値があり、困っている友人に役立つことを願っています。
始める前に、まず開発環境を準備します。Vue の導入については、公式ドキュメントを参照してください。
上記の準備が完了したら、開発を開始できます。このチュートリアルでは、記事公開ページのフォーム検証をデモンストレーションします。
まず、routes/web.php に 2 つのルーティング ルールを追加します:
Route::get('post/create', 'PostController@create'); Route::post('post/save', 'PostController@save');
次に、プロジェクトのルート ディレクトリで Artisan コマンドを実行して、コントローラー PostController を作成します:
php artisan make:controller PostController
プロセス ルーティング リクエスト用に生成されたコントローラーに 2 つのメソッドを追加します:
public function create() { return view('post.create'); } public function save(Request $request) { // 设置验证规则 $this->validate($request, [ 'title' => 'required', 'body' => 'required' ]); }
次に、既存のスタイルとページ レイアウトを再利用するために、最初に次の Artisan コマンドを実行する必要があります:
php artisan make:auth
これにより、Laravel 独自の認証関数を再利用できます。ページがレイアウトされ、ビューを作成します。ファイル post/create.blade.php を編集し、ファイルの内容を次のように編集します。
@extends('layouts.app') @section('content') <div class="container"> <!--创建成功显示消息--> <div class="alert alert-success" v-if="submitted"> 创建成功! </div> <!--页面提交之后阻止刷新--> <form @submit.prevent="createPost" method="POST"> <legend>创建文章</legend> <!--如果title字段验证失败则添加.has-error--> <div class="form-group" :class="{'has-error':errors.title}"> <label>文章标题</label> <input type="text" name="title" class="form-control" v-model="post.title" value="{{ old('title') }}"> <!--如果验证失败通过FormError组件显示错误信息--> <form-error v-if="errors.title" :errors="errors"> @{{errors.title.join(',')}} </form-error> </div> <!--如果body字段验证失败则添加.has-error--> <div class="form-group" :class="{'has-error':errors.body}"> <label>文章正文</label> <textarea name="body" class="form-control" rows="5" v-model="post.body">{{ old('body') }}</textarea> <!--如果验证失败通过FormError组件显示错误信息--> <form-error v-if="errors.body" :errors="errors"> @{{errors.body.join(',')}} </form-error> </div> <button type="submit" class="btn btn-primary">创建文章</button> </form> </div> @endsection
Layouts.app レイアウト ビュー アプリで参照される Vue 関連のデータ変数を定義していないため、この時点でアクセスしたページは空です。 .js であり、この js は resource/assets/js/app.js からコンパイルされているため、ここで Vue 関連のコードを定義します。
var app = new Vue({ el: '#app', data: { post: { title: '', body: '' }, errors: [], submitted: false }, methods: { createPost: function () { var self = this; axios.post('/post/save', self.post).then(function(response) { // form submission successful, reset post data and set submitted to true self.post = { title: '', body: '', }; // clear previous form errors self.errors = ''; self.submitted = true; }).catch(function (error) { // form submission failed, pass form errors to errors array self.errors = error.response.data; }); } } });
ビュー ファイルにも form-error が表示されています。これは実際にはこれです。 Vue のサブコンポーネント。この新しいコンポーネント ファイルは、resources/assets/js/components ディレクトリに作成できます。このサンプルを参照して、新しい FormError:
<template> <span class="help-block"> <slot></slot> </span> </template> <script> export default { props: ['errors'] } </script>を作成します。
ここでは、親コンポーネントのデータエラーを子コンポーネントに渡して、子コンポーネントのエラー情報を表示します。サブコンポーネントの作成が完了したら、それを上記の resource/assets/js/app.js:
Vue.component('form-error', require('./components/FormError.vue'));
に忘れずに導入してください。このようにして、すべてのコーディング作業が完了したので、次のコマンドを実行して再コンパイルします。 js:
npm run dev
もちろん、開発環境では、このコマンドはフロントエンドリソースファイルの変更を監視し、変更のたびに手動でコンパイルすることを避けるために再コンパイルします。
このようにして、ブラウザで投稿/作成ページにアクセスすると、通常どおりに表示されます:
何も入力せずに作成ボタンをクリックすると、ページにエラー メッセージが表示されます:
対応するフィールドに入力します。後でフィールドを送信すると、作成が成功したことを示すメッセージが表示されます。
このようにして、Laravel で Vue をベースにした簡単な Ajax フォーム送信検証機能が完成しました。個人的には開発効率が大幅に向上したと感じています
関連する推奨事項:
Laravel 5.1フレームワークでのACLユーザー認証および権限チェック機能の実装
以上がlaravel5.4フレームワークのVue.jsはAjaxフォーム送信エラー検証を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、堅牢なLaravel Restful APIの構築をガイドします。 プロジェクトのセットアップ、リソース管理、データベースインタラクション、シリアル化、認証、承認、テスト、および重要なセキュリティベストプラクティスをカバーしています。 スケーラビリティチャレに対処します

この記事では、LaravelでOAUTH 2.0認証と承認を実装しています。 League/OAuth2-Serverやプロバイダー固有のソリューションなどのパッケージを使用して、データベースのセットアップ、クライアント登録、承認サーバー構成を強調しています

この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

この記事では、スケーラビリティ、信頼性、セキュリティに焦点を当てたクラウドネイティブ環境でLaravelを展開するためのベストプラクティスについて説明します。重要な問題には、コンテナ化、マイクロサービス、ステートレス設計、最適化戦略が含まれます。

この記事では、Laravelでカスタム検証ルールの作成と使用について説明し、それらを定義および実装する手順を提供します。再利用性や特異性などの利点を強調し、Laravelの検証システムを拡張する方法を提供します。

PHPフレームワークの選択に関しては、LaravelとSymfonyは最も人気があり広く使用されているオプションの1つです。各フレームワークは、独自の哲学、特徴、強みをテーブルにもたらし、さまざまなプロジェクトやユースケースに適しています

この記事では、Laravelでカスタムブレードディレクティブの作成と使用を行い、テンプレートを強化します。ディレクティブの定義、テンプレートでそれらを使用し、大規模なプロジェクトでそれらを管理することをカバーし、改善されたコードの再利用性やRなどの利点を強調しています

この記事では、Laravelの最適なファイルアップロードとクラウドストレージ戦略を調べます。 ローカルストレージとクラウドプロバイダー(AWS S3、Google Cloud、Azure、DigitalOcean)、セキュリティ(検証、消毒、HTTPS)およびパフォーマンスオプティを強調しています


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









