Как я устанавливаю inputFilter, чтобы не допустить пробелов в Zend Framework 2?

0

Как я установил inputFilter, чтобы не допускать пробел в zend framework 2?
Я пробую это:

$inputFilter->add($factory->createInput(array(
            'name'     => 'codigo',
            'required' => true,
            'validators' => array(
                array(
                    'name' => 'not_empty',
                ),
            ),
            'filters' => array(
                 array(
                     'name' => 'Alnum',
                     'allowwhitespace' => false,
                 ),
            ),
        )));
Теги:
zend-framework2
zend-inputfilter

1 ответ

1
Лучший ответ

Несколько пунктов в коде требуют незначительных настроек;

  • ValidatorPluginManager использует нормализованные псевдонимы для вызова валидаторов с помощью канонических имен, что означает, что "not_empty" не является допустимым псевдонимом, он должен быть "непустым" или "NotEmpty".
  • Также ваша подпись фильтра Alnum кажется недействительной. Вы должны предоставить дополнительные опции внутри options ключа к югу с подчеркиванием. (Да, это действительно странная несогласованность)

Попробуй это:

$filter = new \Zend\InputFilter\InputFilter();
$filter->add(array(
            'name'       => 'codigo',
            'required'   => true,
            'validators' => array(
                array(
                    'name' => 'NotEmpty',
                ),
            ),
            'filters' => array(
                 array(
                     'name'              => 'Alnum',
                     'options'           => array(
                        'allow_white_space' => false,
                    )
                 ),
            ),
        ));

$filter->setData(['codigo' => 'Whitespace exists']);
if($filter->isValid() === false) {
    // You'll fall here with a value like multiple spaces etc..
    var_dump($filter->getMessages());
} else {
    var_dump($filter->getValues()); // Prints ['codigo' => string 'Whitespaceexists']
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню