Trongate PHP Framework Docs
Introduction
Basic Concepts
Understanding Routing
Intercepting Requests
Module Fundamentals
Database Operations
Templates
Helpers
Form Handling
Form Validation
Working With Files
Image Manipulation
Working With Dates & Times
Language Control
Authorization & Authentication
Tips And Best Practices

Displaying Validation Errors

When validation fails, Trongate stores errors in $_SESSION['form_submission_errors'] and provides three simple ways to display them.

The Three Display Methods

Method How to Use Best For
General Errors validation_errors() Simple forms, login pages, admin panels
Inline Errors validation_errors('field_name') Long forms, multi-step forms, better UX
JSON Errors validation_errors(422) API endpoints, AJAX forms, mobile apps

Method 1: General Errors (Display All)

Use with no arguments to display all validation errors at once, typically at the top of your form.

This approach is ideal for short forms where a single error summary is sufficient.

Customising Output

  • Wrap each error:
  • Set global defaults:
  • Wrap the full block:

Method 2: Inline Errors (Field-Specific)

Pass a field name to display errors next to the relevant input. This provides a more precise and user-friendly experience.

This method is ideal for longer or more complex forms where users benefit from seeing exactly where problems occur.

Method 3: JSON Errors (APIs and AJAX)

Pass an HTTP status code (400–499) to return validation errors as JSON and immediately terminate execution.

Example JSON response:

Important: The JSON method terminates execution using exit(). No code after validation_errors(422) will run.

Automatic Error Highlighting

Add the highlight-errors class to your form to automatically highlight fields that failed validation.

When validation errors exist, injects JavaScript that applies the form-field-validation-error class to affected fields.

Choosing the Right Approach

  • Simple forms: Use general errors
  • Complex forms: Use inline errors
  • APIs: Use JSON responses

Best Practice: Choose one primary display method per form. Mixing approaches can lead to a confusing user experience.

Session Behaviour (Advanced)

Good to know: Validation errors are automatically cleared from the session after they are displayed.

In most cases, you don’t need to think about this—but for completeness:

  • validation_errors() displays all errors and clears them
  • validation_errors('field') displays errors for one field and clears only that field’s errors
  • validation_errors(422) returns JSON, clears all errors, and terminates execution
  • $this->validation->run() clears previous errors before running validation again