Skip to content

MvcCore form extension with special text and numeric validators.

License

Notifications You must be signed in to change notification settings

mvccore/ext-form-validator-special

Repository files navigation

MvcCore - Extension - Form - Validator - Special

Latest Stable Version License PHP Version

MvcCore form extension with special text and numeric validators - company ID (EU), company VAT ID (EU), credit card, hexadecimal number, IBAN bank account number, IP address and ZIP code.

Installation

composer require mvccore/ext-form-validator-special

Basic Example

$form = (new \MvcCore\Ext\Form($controller))
	->SetId('demo')
	->SetLocale('DE'); // for ZIP validator
...
$yourCreditCard = new \MvcCore\Ext\Forms\Fields\Number();
$yourCreditCard
	->SetName('your_credit_card')
	->SetLabel('Your Credit Card Number:')
	->SetValidators(
		(new \MvcCore\Ext\Forms\Validators\CreditCard)
			-> SetAllowedTypes(
				\MvcCore\Ext\Forms\Validators\CreditCard::AMERICAN_EXPRESS,
				\MvcCore\Ext\Forms\Validators\CreditCard::DISCOVER,
				\MvcCore\Ext\Forms\Validators\CreditCard::MAESTRO,		
				\MvcCore\Ext\Forms\Validators\CreditCard::MASTERCARD,
				\MvcCore\Ext\Forms\Validators\CreditCard::VISA
			)
	);
$yourIp = new \MvcCore\Ext\Forms\Fields\Text([
	'name'		=> 'your_ip',
	'label'		=> 'Your IP Address:',
	'validators'	=> [
		new \MvcCore\Ext\Forms\Validators\Ip([
			'allowIPv4HexFormat'	=> FALSE,
			'allowIPv4BinaryFormat'	=> FALSE,
			'allowIPv6Literals'		=> TRUE,
		])
	],
]);
$yourZipCode = new \MvcCore\Ext\Forms\Fields\Text([
	'name'		=> 'your_zip_code',
	'label'		=> 'Your ZIP code:',
	'validators'	=> ['ZipCode'],
]);
...
$form->AddFields($yourCreditCard, $yourIp, $yourZipCode);