0

symfony2 で記事のコンフィギュレーターを構築したいと考えています。私の最初のエンティティには、考えられるすべての記事構成が保存されています。

Entity PossibleArticleConfiguration
Name: Article One
MinLength: 250 MaxLength: 500
MinWidth: 250
MaxWidth: 500

2 番目のエンティティのオブジェクトは次のようになります。

実在物

構成済み記事

名称:第一条

長さ: 300

幅: 400

PossibleArticleConfiguration の最小範囲と最大範囲に基づいて ConfiguredArticle オブジェクトを検証するためのベスト プラクティスはありますか?

前もって感謝します

4

2 に答える 2

0

ConfiguredArticle エンティティ内には、次のようなメソッドを含めることができます。

public function isLengthValid(ExecutionContextInterface $context)   {
    if ($this->getLength < $this->getArticleConfiguration()->getMinLength()) {
        $context->addViolationAt('length', 'The length does not satisfy the minimum length', array(), null);
    }
    if ($this->getLength > $this->getArticleConfiguration()->getMaxLength()) {
        $context->addViolationAt('length', 'The length does not satisfy the maximum length', array(), null);
    }
}

public function isWidthValid(ExecutionContextInterface $context)    {
    if ($this->getWidth < $this->getArticleConfiguration()->getMinWidth()) {
        $context->addViolationAt('width', 'The width does not satisfy the minimum width', array(), null);
    }
    if ($this->getWidth > $this->getArticleConfiguration()->getMaxWidth()) {
        $context->addViolationAt('width', 'The width does not satisfy the maximum width', array(), null);
    }
}

このページで検証にコールバック メソッドを使用する方法について詳しくは、http ://symfony.com/doc/current/reference/constraints/Callback.html をご覧ください。

于 2013-08-05T09:48:43.193 に答える