6
मैं WTForm सत्यापन त्रुटियों को फ्लैश करने का प्रयास कर रहा हूं। मैं this snippet पाया और थोड़ा इसे संशोधित:फ्लास्क-डब्ल्यूटीएफफ़ॉर्म: फ्लैश त्रुटियों को प्रदर्शित नहीं करता है
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')
यहाँ मेरी प्रपत्र वर्गों में से एक है:
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()
और दृश्य:
@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)
हालांकि, कोई त्रुटि मान्यता विफलताओं पर दिखाया जाता है। मुझे पता है कि मेरे रूप और टेम्पलेट ठीक काम करते हैं, क्योंकि डेटा वैध होने पर मेरा सफलता संदेश चमकता है। गलत क्या है?
मैं relized कि अपने आप को सही इससे पहले कि आप पोस्ट की
else
परflash_errors
डाल रहे हैं। धन्यवाद! –मुझे लगता है कि कभी-कभी केवल प्रश्नों को टाइप करने से आप समस्या के बारे में अलग-अलग या अधिक स्पष्ट रूप से सोचने में मदद कर सकते हैं। –
मैं आपके संक्षिप्त विवरण के लिए i_4_got वोट देता हूं। मेरे पास सिर्फ वही अनुभव है, यहां: http://stackoverflow.com/questions/19152471/what-is-the-technique-of-presenting-again-form-wich-contains-error – swdev