CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-flask-wtf

Form rendering, validation, and CSRF protection for Flask with WTForms.

72

0.91x
Overview
Eval results
Files

rubric.jsonevals/scenario-9/

{
  "context": "This criteria evaluates how effectively the engineer uses Flask-WTF's internationalization capabilities in conjunction with Flask-Babel to provide multilingual form validation messages. The focus is on proper configuration of translation support and integration with WTForms' translation catalog system.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Flask-Babel initialization",
      "description": "Properly initializes Flask-Babel extension using `Babel()` and configures it with the Flask app via `init_app()` or direct instantiation",
      "max_score": 20
    },
    {
      "name": "Locale selector function",
      "description": "Implements a locale selector function decorated with `@babel.localeselector` that determines the current locale from request parameters (e.g., query string or form data)",
      "max_score": 20
    },
    {
      "name": "FlaskForm usage",
      "description": "Uses `FlaskForm` as the base class for the registration form to enable automatic i18n integration with WTForms validators",
      "max_score": 15
    },
    {
      "name": "WTForms i18n configuration",
      "description": "Ensures Flask-WTF's i18n is enabled (either by default or explicitly via `WTF_I18N_ENABLED` configuration) to allow automatic translation of validation messages",
      "max_score": 15
    },
    {
      "name": "Translation catalog integration",
      "description": "Leverages WTForms' built-in translation catalog by using standard WTForms validators (`DataRequired`, `Email`, `Length`, `NumberRange`) whose messages are automatically translated through Flask-Babel",
      "max_score": 20
    },
    {
      "name": "Per-request locale handling",
      "description": "Correctly handles locale switching on a per-request basis, allowing different requests to use different locales without interfering with each other",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-flask-wtf

tile.json