记录 iView 的表单验证

4 篇文章 0 订阅
  • iview表单验证必要设置
 1. 给 Form 标签用 :model 绑定数据 
 2. 给 Form 标签里面必须添加 ref , 用于最后提交获取 Form 表单的实例
 3. 给 Form 设置属性 rules :rules
 4. 给需要验证的每个 FormItem 设置属性 prop , 用于表单验证和绑定属性一致 
  • iview验证多个表单问题
<template>
	<Form ref="addForm" :model="addForm" :rules="addFormValidate" >
		<FormItem label="名称" prop="name">
            <Input v-model="addForm.name" />
        </FormItem>
	</Form>
	<Form ref="editForm" :model="editForm" :rules="editFormValidate" >
		<FormItem label="名称" prop="name">
            <Input v-model="editForm.name" />
        </FormItem>
	</Form>
</template>
<script>
  export default {
	methods:{
		this.$refs.addForm.validate((valid) => {
		 	//第一层验证第一个表单
		    if (valid) {
		  		 this.$refs.editForm.validate((valid) => {
		 			 //第二层验证第二个表单
		      		 if(valid){
		        		alert('验证成功')
		      		 }
		    	 })
		 	 }
		})
	 }
  }
</script>
  • iview自定义表单验证
<template>
	<Form ref="addForm" :model="addForm" :rules="ruleValidate" >
		<FormItem label="名称" prop="name">
            <Input v-model="addForm.name" />
        </FormItem>
	</Form>
</template>
<script>
  export default {
	 data() {
		var validateName = function(rule, value, callback){
             if(!value){
                   return callback(new Error("请输入名称"));
             }else if(!/^[\u4e00-\u9fa5]+$/.test(value)){
                   return callback(new Error("请正确输入名称"))
             }else{
                   callback();
             }
        };
	    return {
	    	addForm:{
	    		name:""
	    	}
	    	ruleValidate:{
                 name : [{validator : validateName , trigger : 'blur'}]
            }
	    }
     }
  }
</script>

自定义的验证规则写在 data 里面,在 returnruleValidate 指定字段 validator 里面调用;
trigger:触发机制(blur | change)
pattern:正则表达式
enum:验证字段是否存在其中
equired:是否为空(true | false)
whitespace:空白字符(true | false)

  • iview表单验证的类型
 1. string (字符串/默认类型)
 2. number (数字)
 3. boolean (布尔类型)
 4. method (函数)
 5. float (浮点数)
 6. integer (整数)
 7. array (数组)
 8. object (对象)
 9. date (日期)
 10. url (URL类型)
 11. email  (电子邮件类型)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值