zoukankan      html  css  js  c++  java
  • Iview同步异步验证

    直接上代码了:

    html:
    <Form ref="termForm" :model="currentData" :rules="ruleTerm" :label-width="80">
              <Form-item label="学期名称" prop="termname">
                <Input v-model="currentData.termname" placeholder="学期名称"></Input>
              </Form-item>
              <Form-item label="开学日期" prop="startday">
                <Date-picker type="date" v-model="currentData.startday" placeholder="选择日期"></Date-picker>
              </Form-item>
              <Form-item label="总周数" prop="weeks">
                <Input v-model="currentData.weeks"></Input>
              </Form-item>
              <Form-item prop="iscurrent">
                <Checkbox v-model="currentData.iscurrent">当前学期</Checkbox>
              </Form-item>
            </Form>
    
    Js:
    
    ruleTerm: {
              termname: [
                {required: true, message: '学期名称不能为空', trigger: 'blur'},
                {
                  validator(rule, value, callback, source, options) {
                    vuecom.checkName().then(() => {
                      callback();
                    }, rej => {
                      console.log('---->rej', rej)
                      callback(new Error(rej));
                    })
                  }
                }
              ],
              startday: [
                {required: true, message: '开学日期不能为空', trigger: 'blur'},
                {
                  validator(rule, value, callback, source, options) {
                    vuecom.checkDay().then(() => {
                      callback();
                    }, rej => {
                      callback(new Error(rej));
                    })
                  }
                }
              ],
              weeks: [
                {required: true, message: '总周数不能为空', trigger: 'blur'},
                {
                  validator(rule, value, callback, source, options) {
                    vuecom.checkDay().then(() => {
                      callback();
                    }, rej => {
                      callback(new Error(rej));
                    })
                  }
                }
              ]
            }
    
    
    checkDay(){
            return new Promise((res, rej) => {
              if (this.currentData.startday && this.currentData.weeks)
                termService.checkTermDate({
                  startday: util.dateFormat(this.currentData.startday, "yyyy-MM-dd"),
                  weeks: this.currentData.weeks
                }).then(data => {
                  if (data.id == '1')
                    res()
                  else
                    rej(data.operation)
                })
              else
                res()
            })
          },
          checkName(){
            return new Promise((res, rej) => {
              termService.checkTermName({termname: this.currentData.termname}).then(data => {
                if (data.id == '1')
                  res()
                else
                  rej(data.operation)
              });
            })
          },
    
    
    
    
    
    saveValidate(name){
            this.$refs[name].validate((valid) => {
              if (valid) {
                this.saveData();
              }
            })
          },
  • 相关阅读:
    【转载】关于sql server 代理(已禁用代理xp)
    Silverlight中将WriteableBitmap互转byte数组
    思迅Pay PC ,WIN7 ,KB3042058
    微软新Edge浏览器 WIN7 无法登录
    List<SelectListItem> 转为 SelectList
    图片jpg,png转为BASE64编码
    “Newtonsoft.Json”已拥有为“Microsoft.CSharp”定义的依赖项。
    mac os 10.15.1 懒人 .CDR
    微信刷脸SDK获取sub_openid
    win7 安装 visual studio 2019 时闪退(VS2019)
  • 原文地址:https://www.cnblogs.com/Mvloveyouforever/p/7371738.html
Copyright © 2011-2022 走看看