繁体   English   中英

Symfony2验证过滤器

[英]Symfony2 validation filters

在我的Symfony 2应用程序中,我需要在将输入传递给验证之前过滤输入[1],但是,我似乎无法在Symfony中找到任何系统来执行此操作。

我寻找的过滤类型是例如能够在验证之前过滤特定字段中的破折号。 例如,用户可以输入123-123但唯一可接受的值是123123 就像我可以使用约束设置验证规则一样,我正在寻找类似于过滤器的东西。

[1] http://symfony.com/doc/current/book/validation.html

Nifr的答案很好,但缺少一个重要的选择,如果我理解你的问题,似乎完全符合你的需求。

您可以使用几乎是事件监听器的钩子 :如果发生或将要发生的事情,它会拦截事件并将其重定向到您的函数。

在这种情况下,您需要一个PRE_BIND挂钩(自2.3版本以来不推荐使用,现在称为PRE_SUBMIT

如果您需要帮助,请阅读内容

编写自己的Validation Assert进行过滤,然后为此目的代理其他验证器......

...或一个或多个正则表达式断言

...或使用DataTransformer转换/过滤输入。

在涉及DataTransformer时,您还可以考虑创建一个新的FieldType,它使用像日期表单字段那样的分隔符来呈现两个输入。 (如果没有与widget => single_text

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM