Challenge - 5 Problems
Flask-WTF Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate2:00remaining
What happens when a Flask-WTF form fails validation?
Consider a Flask-WTF form with a required field. What is the typical behavior when the form is submitted with that field empty?
Flask
from flask_wtf import FlaskForm from wtforms import StringField from wtforms.validators import DataRequired class MyForm(FlaskForm): name = StringField('Name', validators=[DataRequired()])
Attempts:
2 left
💡 Hint
Think about how Flask-WTF signals validation problems without crashing the app.
✗ Incorrect
When a required field is empty, validate_on_submit() returns False. The errors are stored in the field's errors list for display.
📝 Syntax
intermediate2:00remaining
Which code correctly defines a Flask-WTF form with an email field that must be a valid email?
Select the code snippet that correctly uses Flask-WTF and WTForms validators to require a valid email input.
Attempts:
2 left
💡 Hint
You need both presence and format validation for an email field.
✗ Incorrect
Option C uses StringField with both DataRequired and Email validators, ensuring the field is filled and contains a valid email format.
❓ state_output
advanced2:00remaining
What is the value of form.username.data after submitting a form with username='Alice'?
Given this Flask-WTF form and a POST request with username='Alice', what will form.username.data contain after form.validate_on_submit()?
Flask
from flask_wtf import FlaskForm from wtforms import StringField from wtforms.validators import DataRequired class UserForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) # Assume request.form contains {'username': 'Alice'} form = UserForm() valid = form.validate_on_submit()
Attempts:
2 left
💡 Hint
If validation passes, the data attribute holds the submitted value.
✗ Incorrect
After successful validation, form.username.data contains the submitted string 'Alice'.
🔧 Debug
advanced2:00remaining
Why does this Flask-WTF form always fail validation even with valid input?
Examine the code and identify why validate_on_submit() always returns False even when the form is submitted correctly.
Flask
from flask_wtf import FlaskForm from wtforms import StringField from wtforms.validators import DataRequired class SampleForm(FlaskForm): field = StringField('Field', validators=[DataRequired()]) # In the route handler: form = SampleForm() if form.validate_on_submit(): # process form pass else: print(form.errors)
Attempts:
2 left
💡 Hint
Check how Flask-WTF gets form data from the request.
✗ Incorrect
Flask-WTF's validate_on_submit() checks request.method and request.form automatically, but if the form is instantiated without the request context or without passing formdata, validation fails.
🧠 Conceptual
expert2:00remaining
How does Flask-WTF integrate CSRF protection in forms?
Which statement best describes how Flask-WTF adds CSRF protection to forms?
Attempts:
2 left
💡 Hint
Think about how Flask-WTF simplifies security for developers.
✗ Incorrect
Flask-WTF automatically injects a hidden CSRF token field in forms and validates it on submission using the app's secret key, protecting against CSRF attacks without extra code.