1
我的問題是有關的symfony驗證器組件。我不使用表格。我想移動驗證規則對於每個實體分隔的類(如AuthorVlidator,BookingValidator等)。我怎樣才能將它移動到各個班級,並定義規則?的Symfony驗證
謝謝。
我的問題是有關的symfony驗證器組件。我不使用表格。我想移動驗證規則對於每個實體分隔的類(如AuthorVlidator,BookingValidator等)。我怎樣才能將它移動到各個班級,並定義規則?的Symfony驗證
謝謝。
你爲什麼想將其移動到各個班級?使用註釋很容易使用它。
這不是一個好主意,做它,但如果你真的想這樣做,其他類,你可以在要驗證每個類添加這個方法:
class YourObject
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
YourObjectValidator::validate($this, $metadata);
}
}
和:
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
class YourObjectValidator
{
public static function validate(YourObject $object, ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('name', new NotBlank());
}
}
如果你想爲根據性能值添加驗證分開這個邏輯,它不是這樣做的正確方法。你應該閱讀文檔,callback可能是一個解決方案。
如果我理解正確,您正在尋找[Validation Groups](http://symfony.com/doc/current/book/validation.html#validation-groups) –
只需將驗證組件注入到您的Validator類中,然後有它。不需要花哨。 – Cerad