2011-10-25 22 views
0

快速問題: 例如,在您的ORM列定義中定義列的類型爲字符串時。也可以定義一個約束來說明類型需要是字符串嗎?
甚至更​​多:這是否是最佳做法?或者它只是雙重工作而已?Symfony2:類型約束是否與Doctrine ORM列類型定義結合使用?

我認爲這是第一次,因爲在這種情況下,您可以在驗證過程中發現問題,而不是在沖洗過程中。我想:-)

示例代碼:

/** 
* @var string $type 
* 
* @ORM\Column(name="type", type="string", length=255, nullable=false) 
* @Assert\NotBlank() 
* @Assert\Type(type="string") 
*/ 
private $type; 

回答

0

與約束位工作後,我敢肯定,我回答我的問題:-)

我會假設它是第一個,因爲在這種情況下,你可以在捕捉 問題驗證,而不是在沖洗過程中。我認爲:-)

所以,是的。我們去^^如果有人不同意,請說出來!

+0

當你-1這個時,你能否擁有共同的體面說爲什麼? – Dieter

1

我認爲列類型是模式(例如:當你做學說:模式:更新),並斷言類型是驗證(例如:$ validator-> validate($ user))。

+0

事實上它是:)但無論哪種方式,數據都不會通過,即使您沒有將Type約束放在它上面。但我很確定它實際上很有用,因爲它在驗證過程中處理它,在沖洗之前應該稍微多一點,並且更易於捕捉:) – Dieter