element-form使用formruler发送ajax请求

1 使用背景

在进行表单验证时,很多时候都要向后端发送请求验证输入数据的唯一性

2 使用方式

1 使用rules绑定表单验证对象, 使用prop属性绑定属性

<el-form ref="form" :model="form" :rules="formrules" > 
    <el-form-item label="单位名称:"   prop="groupName">
        	<el-input type="text" v-model="form.groupName"   maxlength="200"></el-input>
     </el-form-item>
</el-form>

2 定义formruler组件

(1) 普通验证

formrules: {
		groupName: [{required: true, message: "单位名称不能为空", trigger: "blur"}]
}

required:是否必填

message:提示信息

trigger:触发事件

此时,当输入框失去焦点时,会触发表单验证事件,如果为空,则提示对应message信息

(2) 发送ajax请求的表单验证

formrules: {
				groupCode: [{
					required: true,
					validator: (rule, value, callback) => {
						if (value != "" && value != undefined) {
							$.ajax({
								url:"${ctx}/platGroup/checkGroupCode",
								type:"post",
								dataType:"json",
								data:{
									groupCode:value
								},
								async:true,
								success:function(result){
									if (result == false) {
										callback(new Error("单位编码不能重复"))
									}  else {
										callback();
									}
								}
							});
						} else {
							callback(new Error("单位编码不能为空"))
						}
						callback();
					}, trigger: "blur"
				}],
			}

validator:表单验证时触发的函数

参数:

        value:表单输入框中的值

        callback:回调函数

注意:

验证函数中每一个if分支都需要调用callback函数,否则会导致表单无法提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古德·奈特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值