1
  • 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  (电子邮件类型)

Liu_xiaoqing
32 声望2 粉丝

引用和评论

0 条评论