Introduction

"Validators" allows you to use the Symfony Validator component inside your Drupal projects. The module allows you to extend your forms with an extra parameter called #validators. This validator is designed to validate forms against constraints (i.e. rules). An overview of these constraints can be found on the official component page.

Requirements

  • PHP Version: 5.3.x or greater.

API Hooks

  1. hook_validator_asserts: Introduce custom validator assertions to the form validator.

Example

In the following example we will validate if the user filled in a valid e-mail address and a valid ISBN number:

<?php
namespace Drupal\mymodule\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
/**
 * Contribute form.
 */
class TestForm extends FormBase {
 /**
 * {@inheritdoc}
 */
 public function getFormId() {
 return mymodule_example_form';
 }
 /**
 * {@inheritdoc}
 */
 public function buildForm(array $form, FormStateInterface $form_state) {
 $form['iban'] = array(
 '#type' => 'textfield',
 '#title' => t('Bank account (IBAN format)'),
 '#validators' => array(
 'Iban' => array(
 'message' => t(
 'This value is an invalid bank account number. Please respect the <a href="@url">IBAN format</a>.',
 array('@url' => 'https://en.wikipedia.org/wiki/https://en.wikipedia.org/wiki/International_Bank_Account_Number')
 ),
 )
 ),
 );
 $form['submit'] = array(
 '#type' => 'submit',
 '#value' => t('Submit'),
 );
 return $form;
}
Supporting organizations:
sponsored development of this module

Project information

Releases