Forms

Database errors

The database_error() method automatically analyzes DB errors to attach the error to the correct field:

← Field types


The database_error() method automatically analyzes DB errors to attach the error to the correct field:

match form.save(&request.engine.db).await {
    Ok(_) => { /* success */ }
    Err(err) => {
        form.database_error(&err);
        // The error is set on the relevant field
    }
}

Supported error formats:

  • PostgreSQL: UNIQUE constraint, Key (field)=(value)
  • SQLite: UNIQUE constraint failed: table.field
  • MySQL: Duplicate entry ... for key 'table.field'

If the field is identified, the error appears on that field (e.g. "This email is already used"). Otherwise, it is added to global errors.


Field types | Template rendering