ZF2 Zend Form Validierung: User Text-Eingaben


Um Text sicher zu Filtern kann man mit dem Zend Framwork 2 Validator und einem HTML-Filter wie HTML Purifier eine Validierung des Inhaltes durchführen:

use Zend\Form\Element;
use Zend\InputFilter\InputProviderInterface;
use Zend\Validator;
use Zend\I18n\Validator\Alpha;
use Foo\Filter\HtmlPurify;

class TextElement extends Element implements InputProviderInterface
{
    protected $attributes = array(
        'type' => 'text',
    );

    public function getInputSpecification()
    {
        return array(

            'name' => $this->getName(),
            'filters' => array(
                array('name' => 'Foo\Filter\HtmlPurify'),
                array('name' => 'Zend\Filter\StringTrim'),
                array('name' => 'Zend\Filter\StripTags'),
                array('name' => 'Zend\Filter\HtmlEntities'),
            ),
            'attributes' => array(
                'type' => 'textarea'
            ),
            'validators' => array(
                array(
                    'name' => 'NotEmpty',
                    'options' => array(
                        'messages' => array(
                            \Zend\Validator\NotEmpty::IS_EMPTY => 'Bitte tragen Sie etwas ein.'
                        ),
                    ),
                ),
                array(
                    'name' => 'StringLength',
                    'options' => array(
                        'max' => 5000,
                        'messages' => array(
                            \Zend\Validator\StringLength::TOO_LONG => 'Bitte nicht zu viel Text.'
                        )
                    ),
                )
            ),
        );
    }
}

 

weitere Informationen zum benutzen des Filter finden Sie hier: Email Validierung mit ZF2.

Hinterlasse eine Antwort

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>