Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Aura\Input\Builder;
- use Aura\Input\Filter;
- use Aura\Input\Form;
- use Aura\Filter\RuleCollection as AdvancedFilter;
- use Aura\Filter\RuleLocator;
- use Aura\Filter\Translator;
- $loader = require dirname(__DIR__) . '/vendor/autoload.php';
- $advancedFilter = require dirname(__DIR__) . "/vendor/aura/filter/scripts/instance.php";
- //$advancedFilter->addSoftRule('username', $advancedFilter::IS, 'alnum');
- $format = "Y-m-d";
- $advancedFilter->addHardRule('birthday', $advancedFilter::FIX, 'dateTime', $format);
- function convertDate($date) {
- $date = preg_replace('/\D/','/',$date);
- return date('Y-m-d',strtotime($date));
- }
- class ContactForm extends Form
- {
- public function init()
- {
- $this->setField('name')
- ->setAttribs([
- 'id' => 'name',
- 'size' => 20,
- 'maxlength' => 20,
- ]);
- $this->setField('email')
- ->setAttribs([
- 'size' => 20,
- 'maxlength' => 20,
- ]);
- $this->setField('url')
- ->setAttribs([
- 'size' => 20,
- 'maxlength' => 20,
- ]);
- $this->setField('message', 'textarea')
- ->setAttribs([
- 'cols' => 40,
- 'rows' => 5,
- ]);
- $this->setField('state', 'select')
- ->setOptions([
- 'AL' => 'Alabama',
- 'AK' => 'Alaska',
- 'AZ' => 'Arizona',
- 'AR' => 'Arkansas',
- ]);
- $this->setField('birthday')
- ->setAttribs([
- 'size' => 20,
- 'maxlength' => 20,
- ]);
- $this->setField('submit', 'submit')
- ->setAttribs(['value' => 'send']);
- $filter = $this->getFilter();
- $filter->setRule(
- 'name',
- 'Name must be alphabetic only.',
- function ($value) {
- return ctype_alpha($value);
- }
- );
- $filter->setRule('email', 'Enter a valid email address', function ($value) {
- return filter_var($value, FILTER_VALIDATE_EMAIL);
- });
- $filter->setRule('url', 'Enter a valid url', function ($value) {
- return filter_var($value, FILTER_VALIDATE_URL);
- });
- $filter->setRule('message', 'Message should be more than 7 characters', function ($value) {
- if (strlen($value) > 7) {
- return true;
- }
- return false;
- });
- }
- }
- $form = new ContactForm(new Builder(), new Filter() );
- if ($_POST && $_POST['submit'] == 'send') {
- $data = $_POST;
- $data['birthday'] = str_replace("/", "-", $data['birthday']);
- echo $data['birthday'];
- //$data['birthday'] = convertDate($data['birthday']);
- $success = $advancedFilter->values($data);
- if (! $success) {
- $messages = $advancedFilter->getMessages();
- var_export($messages);
- var_dump($success);
- var_dump($data);
- //exit;
- }
- else
- {
- echo "Sanitized!";
- var_dump($success);
- var_dump($data);
- }
- /*
- $form->fill($data);
- if ($form->filter()) {
- //
- echo "Yes successfully validated and filtered";
- var_dump($data);
- }*/
- exit;
- }
- $helper = new Aura\View\HelperLocator([
- 'field' => function () {
- return new Aura\View\Helper\Form\Field(
- require dirname(__DIR__) . '/vendor/aura/view/scripts/field_registry.php'
- );
- },
- 'input' => function () { return new Aura\View\Helper\Form\Input(
- require dirname(__DIR__) . '/vendor/aura/view/scripts/input_registry.php'
- );
- },
- 'radios' => function () { return new Aura\View\Helper\Form\Radios(new Aura\View\Helper\Form\Input\Checked); },
- 'repeat' => function () { return new Aura\View\Helper\Form\Repeat(
- require dirname(__DIR__) . '/vendor/aura/view/scripts/repeat_registry.php'
- );
- },
- 'select' => function () { return new Aura\View\Helper\Form\Select; },
- 'textarea' => function () { return new Aura\View\Helper\Form\Textarea; },
- ]);
- $field = $helper->get('field');
- function showFieldErrors($form, $name) {
- $errors = $form->getMessages($name);
- $str = '';
- if ($errors) {
- $str .= '<ul>';
- foreach ($errors as $error) {
- $str .= '<li>' . $error . '</li>';
- }
- $str .= '</ul>';
- }
- return $str;
- }
- ?>
- <html>
- <head>
- <title>Aura Form, to make it standalone</title>
- </head>
- <body>
- <form method="post" action="" enctype="multipart/form-data" >
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td>Name : </td>
- <td>
- <?php
- echo $field($form->get('name'));
- echo showFieldErrors($form, 'name');
- ?>
- </td>
- </tr>
- <tr>
- <td>Email : </td>
- <td>
- <?php
- echo $field($form->get('email'));
- echo showFieldErrors($form, 'email');
- ?>
- </td>
- </tr>
- <tr>
- <td>Url : </td>
- <td>
- <?php
- echo $field($form->get('url'));
- echo showFieldErrors($form, 'url');
- ?>
- </td>
- </tr>
- <tr>
- <td>Message : </td>
- <td>
- <?php
- echo $field($form->get('message'));
- echo showFieldErrors($form, 'message');
- ?>
- </td>
- </tr>
- <tr>
- <td>State : </td>
- <td>
- <?php
- echo $field($form->get('state'));
- echo showFieldErrors($form, 'state');
- ?>
- </td>
- </tr>
- <tr>
- <td>Birthday : </td>
- <td>
- <?php
- echo $field($form->get('birthday'));
- echo showFieldErrors($form, 'birthday');
- ?>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <?php
- echo $field($form->get('submit'));
- ?>
- </td>
- </tr>
- </table>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement