关于element-ui中el-form自定义验证(调用后端接口)
作者:HoShining 发布时间:2024-04-27 15:57:00
标签:element-ui,el-form,验证
element-ui中el-form自定义验证
需求
在输入项目名称后,调用后端接口isNameOnly,若已存在,则效果如下图:
1.先设置校验规则rules
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"
class="demo-ruleForm">
2.在return中定义
// 判定规则
rules: {
taskName: [{
required: true,
message: '请输入项目名称',
trigger: 'blur'
},
{
min: 3,
max: 15,
message: '长度在 3 到 15 个字符',
trigger: 'blur'
},
{
required: true,
trigger: 'blur',
//validatePass --- 我们自定义的校验规则
validator: validatePass
}
],
},
3.在data中添加如下代码:(注意,以下代码和return同级)
const validatePass = (rule, value, callback) => {
this.$depot.get({
url: '/isNameOnly',
config: {
params: {
taskName: 1,
userId: 1)
}
},
cb: (res) => {
this.nameOK = res.data == 1 ? true : false
}
})
if (this.nameOK != false) {
callback()
} else {
callback(new Error('经验证,该项目已存在于数据库中'))
}
}
4.method定义提交表单方法
// 提交表单数据
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$message({
message: '恭喜你!项目创建成功!',
type: 'success'
});
} else {
this.$message({
message: '请按照提示正确输入信息后再创建!',
center: true
});
}
});
},
element-ui自定义form表单校验规则
HTML:
<el-form
ref="form"
label-width="120px"
:rules="rules"
:model="ruleForm"
>
<el-form-item
label="身份证号"
size="mini"
class="part"
prop="id_card"
>
<el-input
v-model="ruleForm.id_card"
></el-input>
</el-form-item>
</el-form>
注意
使用校验规则的表单,在data中定义的时候必须要放在一个对象中,:model="ruleForm"这行代码一定要写,不写不生效!
js:
export default {
name: "",
data() {
//自定义校验规则
var checkIdCard = (rule, value, cb) => {
const regIdCard = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if (regIdCard.test(value)) {
return cb();
}
cb(new Error("您输入的身份证号码不是有效格式"));
};
return {
ruleForm: {
id_card: "", //身份证
},
rules: {
id_card: [
{ required: true, message: "请输入身份证", trigger: "blur" },
{ validator: checkIdCard, trigger: "blur" },
],
}
},
element ui 官网也有详细介绍哦------https://element.eleme.cn/#/zh-CN/component/form
这样也就实现了自定义校验的规则,可以在项目中使用了!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。
来源:https://blog.csdn.net/qq_36977697/article/details/109165726


猜你喜欢
- 等值线图的Python绘制方法等值线图或等高线图在科学界经常用到,它是由一些封闭的曲线组成的,来表示三维结构表面。虽然看起来复杂,其实用ma
- 大致流程:导包---import collections新建一个有序字典---collections.OrderedDict()写入json
- 前面简单介绍了Python字符串基本操作,这里再来简单讲述一下Python列表相关操作1. 基本定义与判断>>> dir(
- 官方文档:http://www.layui.com/demo/layedit.html官网文档目前是不支持layedit扩展式的。自己手动实
- 深度遍历:原则:从上到下,从左到右逻辑(本质用递归):1)、找根节点2)、找根节点的左边3)、找根节点的右边class Node(objec
- 一、文章前言此文主要实现识别人体的轮廓范围,与背景进行分离并保存效果图,适用于拍照背景替换及透明背景的人像图(png格式)转换。二、具体流程
- 摘要:NumPy中包含大量的函数,这些函数的设计初衷是能更方便地使用,掌握解这些函数,可以提升自己的工作效率。这些函数包括数组元素的选取和多
- 在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,总结如下:数据如下:>>>import
- 建立好如下的存储过程,以后要分页,直接调用改存储过程就可以了。 注意:数据量大、性能要求高的,请个性化处理。 ALTER PROCEDURE
- python作为脚本性语言,加上它的简便易用性。会经常当作脚本用来处理一下数据和格式。其中处理文件就是频繁用处之一。简单编写几个常用的xls
- 1. 直方图概述(1)基本概念直方图就是对图像的另外一种解释,它描述了整幅图像的灰度分布。直方图的 x 轴代表灰度值(0~255),y 轴代
- 假设访问的views.py如下1.使用url配置默认页from django.conf.urls import urlfrom django
- ①.页面文件使用正确的编码,gb2312使用ANSI,utf-8使用utf-8; ②.ASP代码中设置正确的CODEPAGE,gb2312使
- 1. 动态属性名:可使用表达式来设置动态属性名或方法名:<!-- 属性name --><a :[name]=&
- 本文实例讲述了python数组过滤实现方法。分享给大家供大家参考。具体如下:这段代码可以按照指定的条件过滤数组内的元素,返回过滤后的数组li
- 当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即“我”(浏览器)
- 理论傅立叶变换用于分析各种滤波器的频率特性,对于图像,2D离散傅里叶变换(DFT)用于找到频域.快速傅里叶变换(FFT)的快速算法用于计算D
- springboot数据库查询时出现的时区差异最近项目中使用到多数据源将MySQL库中的数据迁移到mongo库中,发现取出后的数据与原数据时
- 蓝色混迹多年,偷师学艺不少,这次花了2天时间写了点东西发出来送给需要的吧。先放个图片,我改下代码。 重构完成 IE 6 
- HTTP格式HTTP GET请求的格式:GET /path HTTP/1.1Header1: Value1Header2: Value2He