Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation Symfony:在验证之前/之后预筛选提交的值_Validation_Forms_Symfony1_Filter_Sanitize - Fatal编程技术网

Validation Symfony:在验证之前/之后预筛选提交的值

Validation Symfony:在验证之前/之后预筛选提交的值,validation,forms,symfony1,filter,sanitize,Validation,Forms,Symfony1,Filter,Sanitize,我一直在搜网,什么也没找到 我正在使用symfonys表单框架构建一个简单的“创建”表单。验证是好的。但是,我希望预先筛选提交的值,因此添加ucfirst、strtoupper等 我不确定我是否遗漏了一些关键的东西,但我认为唯一的方法是创建我自己的自定义验证器并使用doClean方法,这似乎很愚蠢,因为每个php函数都有数百个验证器 希望你们能帮忙,我一直在浏览源代码、api、大量书籍和博客,但我没有发现任何东西:(要么是不可能,要么是很容易,我希望是后者!我很抱歉没有回答这个问题,但您能否澄清

我一直在搜网,什么也没找到

我正在使用symfonys表单框架构建一个简单的“创建”表单。验证是好的。但是,我希望预先筛选提交的值,因此添加ucfirst、strtoupper等

我不确定我是否遗漏了一些关键的东西,但我认为唯一的方法是创建我自己的自定义验证器并使用doClean方法,这似乎很愚蠢,因为每个php函数都有数百个验证器


希望你们能帮忙,我一直在浏览源代码、api、大量书籍和博客,但我没有发现任何东西:(要么是不可能,要么是很容易,我希望是后者!

我很抱歉没有回答这个问题,但您能否澄清为什么在绑定和验证之前需要更改值?这似乎是可以作为
sfformdoctor::processValues
的一部分或在
sfformdoctor::up中完成的事情DateXXColumn
回调。如果您使用的是Propel,应该有类似的方法。

感谢jeremy的回复。现在我想我已经知道了,我稍后会发布我问题的答案,但本质上就是您所描述的。我所做的只是在我的表单类中扩展了Doctrins模型表单类,方法bind(),在进行验证之前以这种方式执行:)或者,正如您正确地说的,您可以对单个列使用UpdatexxColumn。虽然您可以覆盖绑定,但值应该在绑定之后而不是之前更新,除非有充分的理由这样做。在kohana中,您对表单数据设置了预过滤器,我经常使用它来应用trim()和ucfirst()之类的内容,或strtoupper()。在某些情况下,我希望在验证数据之前对其进行预格式化。