elementui异步后台校验表单,修改重复校验
elementui简单的form校验这里就不介绍了,这里主要记录下如何通过后台进行指定字段的异步后台校验。
1.导入axios
<script src="https://unpkg.com/axios/dist/axios.min.js">
//为了保证引用速度,可以把axios的js文件copy到项目文件中
2.注意校验方法的位置
var vue = new Vue({
el: '.background',
data () {
var validatePhone = (rule, value, callback) => {
var reg = /^1[0-9]{10}$/;
if(!reg.test(value)){
callback(new Error("请输入正确格式手机号"));
return;
}
var params = new URLSearchParams();//后台采用json传参,
//如果传参出现问题可以参考这篇博客https://blog.csdn.net/wild46cat/article/details/78447467
params.append('phone',value);
params.append('id',vue.ruleForm.id);//主键id保证在修改数据时对当前不进行校验,sql中排除当前id数据
axios.post([[@{/employee/checkPhoneAndEmail}]], params, { emulateJSON: true })
.then(function (response) {
if (response.data.code !=000) {
callback(new Error(response.data.msg));
} else {
callback()
}
}).catch(function () {
callback(new Error('服务异常'))
})
};
let validateEmail = (rule, value, callback) => {
var reg = /^1\d{5}$/;
if(!reg.test(value)){
callback(new Error("请输入以1开头,长度为6位的数字"));
return;
}
var params = new URLSearchParams();
params.append('email',value);
axios.post([[@{/employee/checkPhoneAndEmail}]], params, { emulateJSON: true })
.then(function (response) {
if (response.data.code !=000) {
callback(new Error(response.data.msg));
} else {
callback()
}
}).catch(function () {
callback(new Error('服务异常'))
})
};
return {
employeeData:employeeData,
emailSuffix:emailSuffix,
ruleForm: {
phone: employeeData[0].phone,
email: formatEmail,
id:'',//数据主键
},
rules: {
phone: [
{required: true, trigger: 'blur'},
],
email: [//自定义校验规则validator:validateEmail
{required: true, validator:validateEmail, trigger: 'blur'}, ], } } },
methods: {
back(){ window.open([[@{/employee/showHtml}]],"_self"); },
input(){ this.emailDisabled=false; },
submit(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
var json = {
'phone': this.ruleForm.phone,
'email': this.ruleForm.email,
'userId': this.employeeData[0].user_id,
//……提交方法略
};
} ,
elementui异步后台校验表单,修改重复校验的更多相关文章
- javascript将异步校验表单改写为同步表单
同步表单校验的缺点 响应错误信息时,需要重新加载整个页面(虽然有缓存,客户端仍然需要通过http协议对比每个文件是否有更新,以保持文件最新) 服务器响应错误以后,用户之前所输入的信息全部丢失了,用户需 ...
- 使用JavaScript策略模式校验表单
表单校验 Web项目中,登录,注册等等功能都需要表单提交,当把用户的数据提交给后台之前,前端一般要做一些力所能及的校验,比如是否填写,填写的长度,密码是否符合规范等等,前端校验可以避免提交不合规范的表 ...
- Spring Boot构建的Web项目如何在服务端校验表单输入
本文首发于个人网站:Spring Boot构建的Web项目如何在服务端校验表单输入 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC ...
- jQuery form插件的使用--使用 fieldValue 方法校验表单
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).
Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src=& ...
- Spring Boot (一) 校验表单重复提交
一.前言 在某些情况下,由于网速慢,用户操作有误(连续点击两下提交按钮),页面卡顿等原因,可能会出现表单数据重复提交造成数据库保存多条重复数据. 存在如上问题可以交给前端解决,判断多长时间内不能再次点 ...
- 校验表单demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- element-ui后台管理系统表单resetFields功能实现
项目中有‘新增’和‘编辑’弹出dialog功能,并且为同一个dialog. html代码: 新增时,这样的样式 编辑时,这样的样式 所以在编辑完关闭dialog后,需要清空表单,一开始简单的使用了el ...
- jQuery校验 表单验证
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...
随机推荐
- Modbus库开发笔记之二:Modbus消息帧的生成
前面我们已经对Modbus的基本事务作了说明,也据此设计了我们将要实现的主从站的操作流程.这其中与Modbus直接相关的就是Modbus消息帧的生成.Modbus消息帧也是实现Modbus通讯协议的根 ...
- 解决 安装或卸载软件时报错Error 1001 的问题
卸载或安装程序时出错1001:错误1001可能发生在试图更新.修复或卸载windows os中的特定程序时.此问题通常是由于程序的先前安装损坏而引起的. 错误“1001”通常会遇到,因为程序的先前安装 ...
- Confluence 6 附件存储配置
在默认的情况下 Confluence 的附件存储在 home 目录中(例如,在文件系统). 希望对 Confluence 的附件存储进行配置: 在屏幕的右上角单击 控制台按钮 ,然后选择 Genera ...
- ionic3 隐藏子页面tabs
看了几天ionic3 问题还挺多的,今天想把所有子页面tabs 给去掉,整了半天,发现app.Module 是可以配置的 修改 IonicModule.forRoot(MyApp) imports: ...
- linux下命令窗口中$和#的区别
$表示现在的用户是普通用户#表示现在的用户是root用户 # 代表你能做任何事$ 代表你能做一些/下和/home目录的所有事
- 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建
如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...
- vue用webpack打包时引入es2015插件
1.安装依赖包 $ npm install --save-div babel-preset-es2015 ps:babel-loader.babel-core应该是默认装好的,如果没有安装,请重新安装 ...
- Python关键字及其用法
Python有哪些关键字 -Python常用的关键字 and, del, from, not, while, as, elif, global, or, with, assert, else, if ...
- 2017-2018-2 20165206 实验三 《敏捷开发与XP实践》实验报告
2017-2018-2 20165206 实验三 <敏捷开发与XP实践>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师: ...
- PyCharm之python书写规范--消去提示波浪线
强迫症患者面对PyCharm的波浪线是很难受的,针对如下代码去除PyCharm中的波浪线: # _*_coding:utf-8_*_ # /usr/bin/env python3 A_user = & ...