tiitoo / input-mask-bundle
A simple Symfony bundle that implements Form classes for RobinHerbots/Inputmask jQuery plugin
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 5
Type:symfony-bundle
Requires
- php: >=5.6
- symfony/framework-bundle: 2.8.*|3.*|4.*
- twig/twig: *
README
A simple Symfony bundle that implements Form classes for RobinHerbots/Inputmask jQuery plugin.
Installation
Install with composer :
composer require it/input-mask-bundle
Enable the bundle in your project (only for Symfony 2-3. Sf4 does it automatically)
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new IT\InputMaskBundle\ITInputMaskBundle(), // ... ); }
Config
Symfony 2-3 method
Add the following line to your config.yml
:
# app/config/config.yml twig: form_themes: - 'ITInputMaskBundle:Form:inputMaskFields.html.twig'
Symfony 4 method
# config/packages/input_mask.yml # Or in config/packages/twig.yml twig: form_themes: - '@ITInputMask/Form/inputMaskFields.html.twig'
Usage
You can use these types in your Symfony forms :
// Will result of a single_widget date picker use IT\InputMaskBundle\Form\Type\DateMaskType; use IT\InputMaskBundle\Form\Type\EmailMaskType; use IT\InputMaskBundle\Form\Type\UrlMaskType; //... $builder ->add('birthdate', DateMaskType::class, array( 'label' => 'Date of birth', )) ->add('email', EmailMaskType::class, array( 'label' => 'Email field', )) ->add('url', UrlMaskType::class, array( 'label' => 'Url field', )) ;
OR
// Will result of a text widget with the format "[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}" use IT\InputMaskBundle\Form\Type\TextMaskType; //... $builder ->add('phone', TextMaskType::class, array( 'label' => 'Phone number', 'mask' => '99.99.99.99.99' )) ;
OR with regex type
// Will result of a text widget with the format "[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}" use IT\InputMaskBundle\Form\Type\TextMaskType; //... $builder ->add('phone', RegexMaskType::class, array( 'label' => 'Phone number', 'regex' => '[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}' )) ;
For the "mask" config, please refer to the RobinHerbots/Inputmask documentation : https://github.com/RobinHerbots/Inputmask or http://robinherbots.github.io/Inputmask/