validateFormField
The validateFormField hook is triggered when a form field is submitted. It
passes the widget object and the form ID as arguments and expects a widget
object as return value.
Parameters
\Contao\Widget
$widgetObject of the current front end widget. Use it to access form field properties.
string
$formIdAlias of the current form with the prefix
auto_. Don’t confuse with$form->id.array
$formDataForm configuration data from the
tl_formtable.\Contao\Form
$formThe form instance.
Return Value
Return the $widget instance after modification or your custom widget.
Example
// src/EventListener/ValidateFormFieldListener.php
namespace App\EventListener;
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\Form;
use Contao\Widget;
#[AsHook('validateFormField')]
class ValidateFormFieldListener
{
public function __invoke(Widget $widget, string $formId, array $formData, Form $form): Widget
{
if ('myform' === $form->formID && 'mywidget' === $widget->name) {
// Do your custom validation and add an error if widget does not validate
// …
$widget->addError('My custom widget error');
}
return $widget;
}
}