Junior — Middle
How is the system of creating forms with server-side validation error handling implemented?
sobes.tech AI
Answer from AI
In Python, frameworks such as Django or Flask with WTForms are often used to create forms with server-side validation handling.
Main idea:
- A form class is defined with fields and validators.
- When data is received from the user, an instance of the form is created with this data.
- The validation method (e.g.,
form.validate()) is called to check the correctness of the data. - If validation fails, errors are stored in the form object and can be displayed to the user.
Example with WTForms:
from flask_wtf import FlaskForm
from wtforms import StringField, IntegerField
from wtforms.validators import DataRequired, NumberRange
class UserForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
age = IntegerField('Age', validators=[NumberRange(min=18, max=100)])
# In request handler
form = UserForm(request.form)
if form.validate():
# Process valid data
pass
else:
# form.errors contains validation errors
pass
Thus, server-side validation is centralized, errors are accumulated, and can be conveniently returned to the client for display.