我如何将 inputFilter 设置为在 zend 框架 2 中不允许白色 space?
How I set the inputFilter to not allow white space in zend framework 2?
如何在 zend Framework 2 中将 inputFilter 设置为不允许白色 space?
我正在尝试这个:
$inputFilter->add($factory->createInput(array(
'name' => 'codigo',
'required' => true,
'validators' => array(
array(
'name' => 'not_empty',
),
),
'filters' => array(
array(
'name' => 'Alnum',
'allowwhitespace' => false,
),
),
)));
您的代码中有几处需要微调;
- ValidatorPluginManager 使用标准化别名调用
规范名称的验证器,这意味着 'not_empty' 不是
有效的别名,应该是 'notempty' 或 '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']
}
如何在 zend Framework 2 中将 inputFilter 设置为不允许白色 space?
我正在尝试这个:
$inputFilter->add($factory->createInput(array(
'name' => 'codigo',
'required' => true,
'validators' => array(
array(
'name' => 'not_empty',
),
),
'filters' => array(
array(
'name' => 'Alnum',
'allowwhitespace' => false,
),
),
)));
您的代码中有几处需要微调;
- ValidatorPluginManager 使用标准化别名调用 规范名称的验证器,这意味着 'not_empty' 不是 有效的别名,应该是 'notempty' 或 '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']
}