Zend framework2 如何使用ZF2表单验证程序禁用上的字符

Zend framework2 如何使用ZF2表单验证程序禁用上的字符,zend-framework2,zend-form,Zend Framework2,Zend Form,我想禁止人们在我的输入上写字符“#”,我如何才能做到这一点?正如@gustimtoolate所建议的,因为如果你只想禁止尖锐的字符,那么最好将其过滤掉。过滤器在验证之前运行,因此您的工作流程如下: 获取字段值 删除所有出现的字符# 使用附加的验证器验证字段 你想要使用的过滤器是。如果您通过提供程序接口提供过滤器/验证器,那么数组符号应该如下所示(它未经测试,因此您可以稍微使用它) 使用类似于[^#]()的模式的RegEx验证器类怎么样?你试过什么?也许你可以过滤输入字段而不是验证它?更多信息

我想禁止人们在我的输入上写字符“#”,我如何才能做到这一点?

正如@gustimtoolate所建议的,因为如果你只想禁止尖锐的字符,那么最好将其过滤掉。过滤器在验证之前运行,因此您的工作流程如下:

  • 获取字段值
  • 删除所有出现的字符
    #
  • 使用附加的验证器验证字段
你想要使用的过滤器是。如果您通过提供程序接口提供过滤器/验证器,那么数组符号应该如下所示(它未经测试,因此您可以稍微使用它)


使用类似于
[^#]
()的模式的RegEx验证器类怎么样?你试过什么?也许你可以过滤输入字段而不是验证它?更多信息可能会有用。正则表达式是个好主意,但当我使用此模式时:[^#]表单永远无效,无论是否使用#。请回答此模式是否有效:/^(?(?!#))*$/i
'filters' => array(
    array('name' => 'Zend\Filter\PregReplace', 'options' => array(
       'pattern'     => '/#/',
       'replacement' => ''
    )
)