Milk Admin

MessagesHandler Class

The MessagesHandler class manages error and success messages within the application. It provides methods to add, retrieve, and reset messages, facilitating user notification management.

Error messages within app classes and logic-handling classes are managed solely through the last_error variable. Modules or services, needing more detailed feedback for the end user, can use this class to facilitate message management. Messages can also be passed during redirects.

Functions

addError(string $message, mixed $field = '')

Adds an error message to the error message list. If a field is specified, the message will be associated with that field.

MessagesHandler::addError('Error message', 'field_name');
MessagesHandler::addError('Error message', ['field1', 'field2']);

addSuccess(string $message)

Adds a success message to the success message list.

MessagesHandler::addSuccess('Success message');

addFieldError(string $field)

Adds a field to the list of invalid fields.
Invalid fields are automatically handled by the form class to add the is-invalid class to invalid fields.

MessagesHandler::addFieldError('field_name');

hasErrors()

Returns true if there are error messages or invalid fields, otherwise false.

if (MessagesHandler::hasErrors()) { echo 'the form has errors'; }

getInvalidClass(string $field_name)

Returns the CSS class to apply to a field if it has been declared invalid.

$invalidClass = MessagesHandler::getInvalidClass('field_name');

displayMessages(bool $exclude_field_errors = false)

Prints all error and success messages as Bootstrap alerts.

Set $exclude_field_errors to true to exclude error messages associated with specific fields (useful when field errors are shown inline).

MessagesHandler::displayMessages();
MessagesHandler::displayMessages(true); // Only general errors

getErrorAlert(bool $exclude_field_errors = false)

Returns an HTML block containing all error messages, formatted as a Bootstrap alert.

Set $exclude_field_errors to true to exclude error messages associated with specific fields.

$errorAlert = MessagesHandler::getErrorAlert();
$errorAlert = MessagesHandler::getErrorAlert(true); // Only general errors

getErrors(bool $exclude_field_errors = false)

Gets an array of all currently stored error messages.

Set $exclude_field_errors to true to get only general error messages (excluding field-specific errors).

$errors = MessagesHandler::getErrors();
$generalErrors = MessagesHandler::getErrors(true); // Only general errors

errorsToString($br = false)

Converts all error messages into a single string, separated by a line break or an HTML <br> tag.

$errorString = MessagesHandler::errorsToString(true);

getSuccessAlert()

Returns an HTML block containing all success messages, formatted as a Bootstrap alert.

$successAlert = MessagesHandler::getSuccessAlert();

getSuccessMessages()

Gets an array of all currently stored success messages.

$successMessages = MessagesHandler::getSuccessMessages();

successToString($br = false)

Converts all success messages into a single string, separated by a line break or an HTML <br> tag.

$successString = MessagesHandler::successToString();

reset()

Resets all stored error and success messages, emptying the corresponding arrays.

MessagesHandler::reset();

Messages in Redirects

You can use Route::redirectSuccess($url, $message = '') and Route::redirectError($url, $message = '') to perform a redirect with a success or error message.

Loading...