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

Как я устанавливаю 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,
),
),
)));

0

Решение

Несколько пунктов в вашем коде нуждаются в незначительных изменениях;

  • ValidatorPluginManager использует нормализованные псевдонимы для вызова
    валидаторы по каноническим именам, что означает, что «not_empty» не является
    допустимый псевдоним, он должен быть ‘notempty’ или ‘NotEmpty’.
  • Также ваш цифра, буква подпись фильтра кажется недействительной. Вам следует
    предоставить дополнительные опции внутри 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']
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]