iView中的input文本输入框只允许输入4位数字,格式校验后再发送请求做别的校验

iView中的input文本输入框只允许输入4位数字的校验

<template>
	<div>
		<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80">
			<FormItem label="工号" prop="jobNumber">
          		<Input v-model="formValidate.jobNumber" placeholder="请输入工号" maxlength="4" 		style="width: 300px" @on-blur="inputValidate" />
          		<div v-if="formValidate.jobNumberValidate" style="font-size:16px; color:red;" >
          			{{formValidate.jobNumberValidateMsg}}
          		</div>
        	</FormItem>
		</Form>
	</div>
</template>

<script>
	export default {
		name:'',
		data(){
			return {
				formValidate:{
					jobNumber:'',
					jobNumberValidate:false,
					jobNumberValidateMsg:''
				},
				ruleValidate:{
					jobNumber:[
						{ required: true, type: 'number', message: '请输入4位数字', trigger: 'blur' },
						{pattern:/^[\d]{4}$/,message: '请输入4位数字', trigger: 'blur'} 
						// required表示该项是否为必填,true为必填,在该项之前显示*,false非必填,不显示*;
						\d表示0-9之间的任意数字,{4}表示从这些数字中选4位,如果只是做格式校验,这样就可以了;如格式校验后还要做别的校验,在触发事件中先做格式校验,再做其他校验,如工号是否重复的校验,如失去焦点,校验格式,发送请求校验是否重复,详见如下校验函数,此时,校验规则对象中就不用写这个校验规则数组了。
					]
				}
			}
		},
		methods:{
			inputValidate(){
			在模板中添加提示语的包裹标签
				if(this.formValidate.jobNumber.length==0){
				//未输入工号,提示输入,必填(如不是必填,就不用写这一句),return之后不往下执行,就不会发送请求
					this.formValidate.jobNumberValidate=true;
					this.formValidate.jobNumberValidateMsg='请输入4位数字';
					return;
				}
				//4位数字的校验规则
				let myReg= /^[\d]{4}$/ 
				//如输入的值不符合校验规则,提示输入,return之后不往下执行,不发送请求
				if(!myReg.test(this.formValidate.jobNumber)){
					this.formValidate.jobNumberValidate=true;
					this.formValidate.jobNumberValidateMsg='请输入4位数字';
					return;
				}
				//输入工号且符合校验规则,发送请求,校验工号是否重复,注意,如是在抽屉中校验,关闭抽屉后重置所有数据!!!!
				this.$http.get('/校验工号是否跟数据库的重复的请求地址?请求参数名='+this.formValidate.jobNumber)
				.then(res=>{
					if(res.data.returnCode===0){
						return true
					}else{
						return false
					}
				})
				.catch(error=>{
					this.$Message.error(error)
				})
			}
		}
	}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值