2017-09-15 2 views
0

J'ai ci-dessous champ wtform. Je veux valider, le nom du jour (% A) avec DayMonYear d'entrée (% d% b% Y)wtforms datetimefield validation

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

dimanche 15Sep2017 15h16 Donc, si quelqu'un il change au vendredi 15Sep2017 15h16, devrait jeter Erreur. Avons-nous de tels valideurs?

+2

Il n'y a pas construit en validateur qui fait cela. Vous pouvez cependant écrire un validateur personnalisé. http://wtforms.readthedocs.io/en/latest/validators.html#custom-validators – Mekicha

Répondre

0

Depuis, il n'y a pas de vaildator défini pour wtforms pour datetime. Pour contourner ce problème, utilisé JavaScript getDay() pour obtenir la Journée réelle pour ce jour mon année fourni et comparé avec la valeur prévue par jour

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