wtforms datetimefield验证

时间:2017-09-15 15:24:16

标签: flask wtforms

我有以下wtform字段。我想用输入DayMonYear(%d%b%Y)验证日期名称(%A)

stime = DateTimeField(label='Start time(UTC)', validators=[validators.InputRequired()], format="%A %d%b%Y %H:%M",
                          default=datetime.utcnow)

星期日15Sep2017 15:16 因此,如果有人将其更改为星期五15Sep2017 15:16,应该抛出错误。我们有这样的验证器吗?

1 个答案:

答案 0 :(得分:0)

因为,没有为datetime定义的wtforms vaildator。 作为一种解决方法,使用JavaScript getDay()来获取所提供日期的实际日期,并将其与当天提供的值进行比较

Example:Friday 15Sep2017 19:39 :
    var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
     var d = new Date(giventime);
    s = giventime.split(/[ ,]+/)[0] # to get only "day"
    (s.toLowerCase() == days[d.getDay()].toLowerCase()) #condition