vue-iview UI 为什么一进页面就有校验

关于iview表单验证的问题

  • iview表单验证的步骤:

    • 第一步:给 Form 设置属性 rules :rules
    • 第二步:同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop=”“
    • 第三步:注意:Form标签里面是 :model
    • 第四步:注意:在Form标签里面必须添加 ref,相当于id,在此范围内的表单验证有效
    • 第五步:在操作保存按钮时,添加方法,对整个表单进行校验,参数为检验完的回调,会返回一个 Boolean 表示成功与失败。
   <Form :label-width="100" ref='contractForm' :model='contractForm' :rules="ruleValidate">
       <FormItem label='合同编号:' prop="contractNo">
           <Input placeholder="请输入合同编号" v-model='contractForm.contractNo'></Input>
       </FormItem>
       //data里面,写验证
       ruleValidate: {
           contractNo:[
               { required: true, message: '合同编号不能为空', trigger: 'blur' },
            ],
        }
       //methods里面,写方法
       addChange(name){
             this.$refs[name].validate(valid => {
                  if (valid) {
                  }
              });  
   </Form> 

 

  • iview进行表单验证select时候验证失败的问题:
    • 用iview自带的表单验证select标签的时候,一直验证不通过,因为iview默认校验数据类型为String,而我的select用的value是number类型的
ruleValidate: {
   customer:[
           { required: true, message: '客户名称不能为空', trigger: 'blur',type:'number'},
        ], 
      }  

 

  • iview进行表单验证时间日期验证失败的问题:
    • 和下拉框一样,日期的类型是data
  ruleValidate: {
   advance:[
           { required: true, message: '预送达时间不能为空', trigger: 'change' ,type: 'date'},
        ],
      }    

 

  • iview进行多重验证的写法:
    • 多重验证包括第一要验不能为空,第二要验证限制的一些长度,写正则表达式等
     ruleValidate: {
             goodsNum: [
                     { required: true, message: '数量不能为空', trigger: 'blur' },
                     { type: 'string',pattern:/^(([1-9]\d{0,3})|0)(\.\d{0,2})?$/, message:'数量应为正浮点数且不超过9999.99', trigger:'blur'},
                        ],
      }

 

 

 

 

posted @ 2021-01-13 15:34  博客天天写  阅读(1896)  评论(0编辑  收藏  举报