2017-09-15 45 views
0

我有以下wtform字段。我想验证,日期名(%A)与输入DayMonYear(%d%B%Y)wtforms datetimefield验证

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,应该扔掉错误。我们有这样的验证器吗?

+2

有验证器,做的是没有内置值进行了比较。你可以写一个自定义验证器。 http://wtforms.readthedocs.io/en/latest/validators.html#custom-validators – Mekicha

回答

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