Zend framework2 如何使用ZF2表单验证程序禁用上的字符
我想禁止人们在我的输入上写字符“#”,我如何才能做到这一点?正如@gustimtoolate所建议的,因为如果你只想禁止尖锐的字符,那么最好将其过滤掉。过滤器在验证之前运行,因此您的工作流程如下:Zend framework2 如何使用ZF2表单验证程序禁用上的字符,zend-framework2,zend-form,Zend Framework2,Zend Form,我想禁止人们在我的输入上写字符“#”,我如何才能做到这一点?正如@gustimtoolate所建议的,因为如果你只想禁止尖锐的字符,那么最好将其过滤掉。过滤器在验证之前运行,因此您的工作流程如下: 获取字段值 删除所有出现的字符# 使用附加的验证器验证字段 你想要使用的过滤器是。如果您通过提供程序接口提供过滤器/验证器,那么数组符号应该如下所示(它未经测试,因此您可以稍微使用它) 使用类似于[^#]()的模式的RegEx验证器类怎么样?你试过什么?也许你可以过滤输入字段而不是验证它?更多信息
- 获取字段值
- 删除所有出现的字符
#
- 使用附加的验证器验证字段
使用类似于
[^#]
()的模式的RegEx验证器类怎么样?你试过什么?也许你可以过滤输入字段而不是验证它?更多信息可能会有用。正则表达式是个好主意,但当我使用此模式时:[^#]表单永远无效,无论是否使用#。请回答此模式是否有效:/^(?(?!#))*$/i
'filters' => array(
array('name' => 'Zend\Filter\PregReplace', 'options' => array(
'pattern' => '/#/',
'replacement' => ''
)
)