【问题标题】:Validating a date before today with VeeValidate使用 VeeValidate 验证今天之前的日期
【发布时间】:2019-02-28 19:57:39
【问题描述】:

我正在尝试验证 Vue.js 上的出生日期字段以仅允许今天之前的日期,但我不确定如何将 Javascript 实现到 before 属性或 date_between 属性

我正在尝试按照

的方式做一些事情
v-validate="'date_format:DD-MM-YYYY|before:changeDateFormat(new Date(Date.now()))'"

changeDateFormat() 在哪里

changeDateFormat(dateStr) {
    if (dateStr != null) {
      var date = new Date(dateStr)
      var newDate = ("00"+(date.getDate())).slice(-2)+'-'+("00"+(date.getMonth()+1)).slice(-2)+'-'+date.getFullYear()
      return newDate
    }
    return ''

我对 Vue.js 很陌生,所以如果这是一个简单的问题,我深表歉意。

【问题讨论】:

    标签: vue.js vee-validate


    【解决方案1】:

    尽量使用像对象这样的规则表达式。

    VeeValidate 语法: https://baianat.github.io/vee-validate/guide/syntax.html

    例如:

    data: {
        validators: {
            BirthDate: {
                required: true,
                date_format: 'dd-MM-yyyy',
                before: this.changeDateFormat(new Date(Date.now()))
            }
        }
    },
    methods: {
       changeDateFormat(dateStr) {
          if (dateStr != null) {
            var date = new Date(dateStr)
            var newDate = ("00" + (date.getDate())).slice(-2) + '-' + ("00" + (date.getMonth() + 1)).slice(-2) + '-' +date.getFullYear()
            return newDate
          }
        return ''
       }
    },
    

    还有你的指令:

    v-validate="validators.BirthDate"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多