Ich versuche WTForm Validierungsfehler zu blinken. Ich fand this snippet und es leicht modifiziert:Flask-WTFform: Flash zeigt keine Fehler an
def flash_errors(form):
"""Flashes form errors"""
for field, errors in form.errors.items():
for error in errors:
flash(u"Error in the %s field - %s" % (
getattr(form, field).label.text,
error
), 'error')
Hier eine meiner Form Klassen ist:
class ContactForm(Form):
"""Contact form"""
# pylint: disable=W0232
# pylint: disable=R0903
name = TextField(label="Name", validators=[Length(max=35), Required()])
email = EmailField(label="Email address",
validators=[Length(min=6, max=120), Email()])
message = TextAreaField(label="Message",
validators=[Length(max=1000), Required()])
recaptcha = RecaptchaField()
und Aussicht:
@app.route("/contact/", methods=("GET", "POST"))
def contact():
"""Contact view"""
form = ContactForm()
flash_errors(form)
if form.validate_on_submit():
sender = "%s <%s>" % (form.name.data, form.email.data)
subject = "Message from %s" % form.name.data
message = form.message.data
body = render_template('emails/contact.html', sender=sender,
message=message)
email_admin(subject, body)
flash("Your message has been sent. Thank you!", "success")
return render_template("contact.html",
form=form)
werden jedoch keine Fehler bei der Validierung Ausfälle geflasht. Ich weiß, dass meine Formulare und Vorlagen gut funktionieren, weil meine Erfolgsmeldung blinkt, wenn die Daten gültig sind. Was ist falsch?
ich relized dass mich direkt vor euch auf dem Laufenden. Vielen Dank! –
Ich denke, manchmal hilft nur das Tippen der Fragen, um über das Problem anders oder klarer nachzudenken. –
Ich stimme für Ihre prägnante Aussage dort i_4_got ab. Ich habe die selbe Erfahrung selbst, hier: http://stackoverflow.com/questions/19152471/what-is-the-technique-of-presenting-again-form-which-contains-error – swdev