2013-06-11 5 views
5

ho definito un modulo come questo:Flask-WTF: come permettere a zero su DataRequired() convalida

class RecordForm(Form): 
    rating = IntegerField('Rating') 

Se è inserito alcun valore ricevo un messaggio predefinito come questo:

Not a valid integer value 

Vorrei avere un messaggio personalizzato, invece, così mi si avvicinò con questo:

class RecordForm(Form): 
    rating = IntegerField('Rating',[validators.DataRequired("Helllo???")]) 

Il messaggio personalizzato ora funziona, ma ottengo come effetto ide. 0 (zero) non è più accettato come valore intero. Quali sono le mie opzioni qui per favore?

+1

Perché -1 senza alcun commento? se la domanda può essere migliorata, per favore fatemelo sapere. – Houman

risposta

6

Uso InputRequired invece:

class RecordForm(Form): 
    rating = IntegerField('Rating',[validators.InputRequired("You got to enter some rating!")]) 

Dalla documentazione:

notare che c'è una distinzione tra questo e DataRequired in quel InputRequired sembra che i dati di forma-voce è stata fornita, e sguardi DataRequired ai dati post-coercizione.

(enfasi mia)

+1

Perché -1? La soluzione sta funzionando per me. – Houman

+0

esattamente! perché -1? –

+0

Deve essere stato un troll. Ha anche fatto +1 alla mia domanda. Lascio questo aperto per un po 'prima di accettare la tua domanda come risposta. Grazie – Houman