zoukankan      html  css  js  c++  java
  • 关于form表单校验问题

    奇怪的现象

      首次加载页面的时候,没有输入时间会开始校验“不能为空”,但是我选择了时间以后,第一次还是提示”不能为空“,直到下一次的时候才会校验成功

    原因:

    crud.js

            //设置field
            changeFields(val){
                if(val.name == 'searchForm'){
                    this.startNum = 1
                    
                    this.searchFields = Object.assign({},this.searchFields,val.field)
                    if(this.isOpenInterval){
                        clearInterval(this.timer)
                        this.handleInterval()
                    }
                }else if(val.name == 'addForm'){
                    this.addFields = Object.assign({},this.addFields,val.field)
                }else{
                    this.handleFieldsChange && this.handleFieldsChange(val)
                }
                this.handleFieldsChangeAfter && this.handleFieldsChangeAfter(val)
                console.log(this.addFields,this.searchFields)
            },

    页面中进行重写检验

            //设置field
            changeFields(val){
                if(val.name == 'searchForm'){
                    this.startNum = 1
                    
                    this.searchFields = Object.assign({},this.searchFields,val.field)
                    if(this.isOpenInterval){
                        clearInterval(this.timer)
                        this.handleInterval()
                    }
                }else if(val.name == 'addForm'){
                    this.addFields = Object.assign({},this.addFields,val.field)
                    this.$nextTick(() => {//必须要加上
                        //如果有timeLimit属性
                        if(val.field && val.field.timeLimit){
                            this.$refs.addForm.$refs.addForm && this.$refs.addForm.$refs.addForm.validateField('timeLimit')//手动校验,两层refs是因为dom结构如此
                        }
                    })
                }else{
                    this.handleFieldsChange && this.handleFieldsChange(val)
                }
                this.handleFieldsChangeAfter && this.handleFieldsChangeAfter(val)
            },

     注意:

    form上面记得添加 ref = “addForm”

  • 相关阅读:
    Java事务管理学习一 JDBC的事务控制
    grafana监控配置
    Linux系统上传公钥不生效问题
    CentOS 定时计划任务设置
    shell脚本加密
    aotocomplete
    aotocomplete1
    浮动
    http://lifesinger.org/blog/2009/07/kissysuggest/
    dataTable转换成Json格式
  • 原文地址:https://www.cnblogs.com/pengfei25/p/13186429.html
Copyright © 2011-2022 走看看