2013-07-29 110 views
0

我想用symfony2構建一篇文章配置器。 在我的第一個實體中存儲了所有可能的物品配置。基於另一個實體的數據驗證學說實體

實體PossibleArticleConfiguration
名稱:第一條
MINLENGTH個:250 的MaxLength:500
MinWidth:250
MaxWidth:500

在我的第二個實體的對象看起來是這樣的:

實體

ConfiguredArticle

名稱:第一條

長度:300

寬度:400

是否有驗證基礎上,最小和最大範圍ConfiguredArticle對象的最佳做法在PossibleArticleConfiguration中?

在此先感謝

+0

是有像ConfiguredArticle的關係 - > PossibleArticleConfiguration(一到許多/一對音)? – nifr

+0

是的,有一個關係配置文章/材料OneToMany <-> ManyToOne PossibleArticleConfiguration/Material – user1731323

回答

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