vant 组件的表单校验

vant库中存在的form表单校验是通过 rules 属性来定义校验规则的.

<van-form @submit="getform">
	<div class="form">
	<van-cell-group>
		<van-field class="item" v-model="form.name" error required label="学校名称:" />
		<van-field class="item" v-model="form.principal"  error required label="校长姓名" />
		<van-field class="item" v-model="form.phone" error type="number" required :colon="true" :rules="userFrom.tel" name="tel"
						 label="校长电话" />
		<van-field class="item" v-model="form.code" error required label="业务人员编号:" label-width="40%" />
	</van-cell-group>
	</div>
	<van-button type="info" round color="#365EEF" native-type="submit">确定</van-button>
</van-form>

使用 :rules="userFrom.tel" 定义校验的规则,对于手机号的校验

userFrom:{
    tel:[
        { required: true, message: '手机号码不能为空!' },
        { validator: (val) => {
              return  /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/.test(val)
         },
         message: '格式不正确'
         }
         ]
         }, 

举例 :  例子是通过 validator 进行函数校验,

vant提供的三种校验

1.通过 pattern 进行正则校验

2.通过 validator 进行函数校验

3.通过 validator 进行异步函数校验

通过@submit="getform"提交表单数据

getform () {
			if(this.form.name.trim().length == 0 || this.form.principal.trim().length == 0 || 
			this.form.phone.trim().length == 0 || this.form.code.trim().length == 0 || this.form.address == '' ){
				Toast('请填写完整信息')
				return
			}
			this.showinp = false;
			subMessage(this.form)
			.then(res=>{
				console.log(res);
				const msg = res.data.msg
				if(res.data.code == 200){
					Toast.success(msg);
					setTimeout(()=>{
						this.init();
					},500)
					
				}
				if(res.data.code !== 200){
					Toast.fail('录入失败,请重试');
				}
			})
		},

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值