Last active
August 29, 2015 13:55
-
-
Save spekkionu/8762864 to your computer and use it in GitHub Desktop.
Build Zend\FilterInput as phar
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/php -dphar.readonly=0 | |
<?php | |
$srcRoot = realpath(__DIR__."/vendor"); | |
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($srcRoot, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::LEAVES_ONLY); | |
echo "Build ZF Form processing phar\n"; | |
$phar = new Phar(__DIR__.'/zf-form.phar', 0, 'zf-form.phar'); | |
$phar->buildFromIterator($iterator, $srcRoot); | |
$phar->setStub($phar->createDefaultStub("autoload.php")); | |
exit("Build complete\n"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"description": "Input filtering and form validation", | |
"require": { | |
"zendframework/zend-inputfilter": "2.2.*", | |
"zendframework/zend-servicemanager": "2.2.*", | |
"zendframework/zend-i18n": "2.2.*", | |
"zendframework/zend-filter": "2.2.*", | |
"zendframework/zend-validator": "2.2.*", | |
"zendframework/zend-uri": "2.2.*", | |
"zendframework/zend-escaper": "2.2.*" | |
}, | |
"config": { | |
"preferred-install": "dist" | |
}, | |
"prefer-stable": true, | |
"minimum-stability": "stable", | |
"scripts": { | |
"post-update-cmd": "php build.php", | |
"post-install-cmd": "php build.php" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use Zend\InputFilter\Input; | |
use Zend\InputFilter\InputFilter; | |
require(__DIR__."/zf-form.phar"); | |
$filter = new InputFilter(); | |
$input = new Input('first_name'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('strip_new_lines') | |
->attachByName('strip_tags') | |
->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('string_length', array('max'=>50)); | |
$filter->add($input); | |
$input = new Input('last_name'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('strip_new_lines') | |
->attachByName('strip_tags') | |
->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('string_length', array('max'=>50)); | |
$filter->add($input); | |
$input = new Input('email'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('strip_new_lines') | |
->attachByName('strip_tags') | |
->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('email_address') | |
->attachByName('string_length', array('max' => 255)); | |
$filter->add($input); | |
$input = new Input('email_confirm'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('strip_new_lines') | |
->attachByName('strip_tags') | |
->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('identical', array('token'=>'email')); | |
$filter->add($input); | |
$input = new Input('username'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('alnum') | |
->attachByName('string_length', array('max'=>20)); | |
$filter->add($input); | |
$input = new Input('password'); | |
$input->setRequired(true); | |
$input->getFilterChain()->attachByName('strip_new_lines') | |
->attachByName('string_trim') | |
->attachByName('null'); | |
$input->getValidatorChain()->attachByName('not_empty', array(), true) | |
->attachByName('string_length'); | |
$filter->add($input); | |
$data = array( | |
'first_name' => "Bo<b>b</b> \n ", | |
'last_name' => "Smith", | |
'email' => "bob@email.com", | |
'email_confirm' => "bob@email.com", | |
'username' => "bobsickle", | |
'password' => "", | |
); | |
$filter->setData($data); | |
if ($filter->isValid()) { | |
echo "This is valid".PHP_EOL; | |
var_dump($filter->getValues()); | |
} else { | |
echo "Data is not valid".PHP_EOL; | |
var_dump($filter->getMessages()); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment