laravel5.4框架中vue.js实现Ajax的表单提交错误验证
发布时间 - 2018-07-31 00:00:00 点击率:次本篇文章给大家分享的内容是关于laravel5.4框架中vue.js实现ajax的表单提交错误验证,有一定的参考价值,希望可以帮助到有需要的朋友。
开始之前首先准备好开发环境,我们假设你已经安装好 Laravel,至于 Vue 的引入,请参考官方文档。
做好上述准备工作后就可以开始我们的开发了,本教程中我们将演示文章发布页面的表单验证。
首先在 routes/web.php 中新增两条路由规则:
Route::get('post/create', 'PostController@create');
Route::post('post/save', 'PostController@save');然后在项目根目录下运行 Artisan 命令创建控制器 PostController:
php artisan make:controller PostController
在生成的控制器中新增两个方法用于处理路由请求:
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')
创建成功!
@endsection这时访问页面页面为空,因为我们还没有定义 Vue 相关的数据变量,layouts.app 布局视图里引用了 app.js,而这个 js 由 resources/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 目录下创建这个新的组件文件,该目录下提供了一个样例 Example.vue,我们可以参照该样例编写一个新的 FormError.vue:
这里我们将父组件中的数据 errors 传递到了子组件中以便在子组件中显示错误信息。完成创建子组件后不要忘了在上述 resources/assets/js/app.js 中引入它:
Vue.component('form-error', require('./components/FormError.vue'));这样,我们就完成了所有编码工作,接下来运行以下命令重新编译js:
npm run dev
当然在开发环境中,我们更倾向于使用 npm run watch,该命令会监听前端资源文件的更改然后重新编译,以避免每次修改后手动编译。
这样,在浏览器中访问 post/create 页面,就可以正常展示了:
什么都不填写,点击创建按钮,页面就能展示错误提示信息了:
填写相应字段之后再提交,则提示创建成功。
这样,我们在 Laravel 中完成了简单的,基于 Vue 实现的 Ajax 表单提交验证功能,个人感觉在提升开发效率方面还是很显著的
相关推荐:
laravel的新特性之高阶消息传递
Laravel 5.1框架中的ACL用户授权和权限检查功能的实现
# php
# laravel
# ajax
# vue.js
# npm
# 表单验证
# Error
# JS
# 表单
# 错误信息
# 就可以
# 我们可以
# 复用
# 器中
# 完成了
# 样例
# 在这里
# 还没有
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在建站之星绑定自定义域名?
如何在阿里云虚拟服务器快速搭建网站?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
移动端脚本框架Hammer.js
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
大同网页,大同瑞慈医院官网?
Laravel如何实现文件上传和存储?(本地与S3配置)
如何在宝塔面板中创建新站点?
如何在Ubuntu系统下快速搭建WordPress个人网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
香港服务器部署网站为何提示未备案?
如何快速搭建自助建站会员专属系统?
Laravel如何实现API速率限制?(Rate Limiting教程)
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel如何创建自定义Artisan命令?(代码示例)
如何用景安虚拟主机手机版绑定域名建站?
如何在云主机快速搭建网站站点?
如何用腾讯建站主机快速创建免费网站?
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
JS经典正则表达式笔试题汇总
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
如何用AI帮你把自己的生活经历写成一个有趣的故事?
使用C语言编写圣诞表白程序
PHP 500报错的快速解决方法
如何正确选择百度移动适配建站域名?
Laravel如何实现多对多模型关联?(Eloquent教程)
EditPlus 正则表达式 实战(3)
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何快速启动建站代理加盟业务?
JS碰撞运动实现方法详解
做企业网站制作流程,企业网站制作基本流程有哪些?
微信公众帐号开发教程之图文消息全攻略
如何在Tomcat中配置并部署网站项目?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
太平洋网站制作公司,网络用语太平洋是什么意思?


};
// 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;
});
}
}
});