如何使用Datatranformer访问Symfony Validator中的POST数据?

时间:2013-06-03 17:28:52

标签: php validation symfony http-post

在这种情况下,我无法理解如何使用Symfony Form Validation:

我正在使用化学式作为字符串输入来保存化学化合物的表格。该输入(例如“H2O”)是DataTransformed到化学元素集合(“H”,“H”,“O”),其与新生成的字符串表示(“H2O”)一起保存为公式。这确保了公式的有效性,例如“OH2”无法保存,因为自动生成公式会将这些问题考虑在内并将其更改为“H2O”。我不希望公开访问Compound-> setFormula(),因为这会导致与包含的元素不一致。

现在,我想确保诸如“H2Oxxxx”之类的输入没有被保存为“H2O”而没有注意到输入实际上与找到的公式不同,而“OH2”应该被接受并保存为“H2O”。我正在尝试使用Constraint“isValidCompound”和Validator“isValidCompoundValidator”。 (简单?)问题现在是:如何从isValidCompoundValidator访问POST数据,以便将自动创建的公式与它进行比较?通常,您可以使用$ compound-> getFormula()来访问它,因为它会自动填充Form数据。就我而言,由于上面给出的原因,它只能使用找到的元素填充。

这个设置是否有意义,我应该尝试直接使用$ request-> request-> all();?来访问POST数据或者是一个不同的类设置?

非常感谢!

0 个答案:

没有答案