2013-02-19 71 views
0
/** 
* @Column(type="string", length=10) 
*/ 
protected $name; 

'長度'的目的究竟是什麼?使用列長度驗證

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-column

在上述網址它指出:「長:由‘字符串’類型用於確定在數據庫中的最大長度主義不驗證字符串值的長度適合你。」

我有我的數據庫中定義的長度,所以在Doctrine中添加'length'有什麼意義? '長度'有什麼與驗證?

我唯一能想出來的就是在嘗試將其插入到數據庫之前切斷多餘的字符。非常煩人,當我想要一個異常或錯誤。

感謝:d

回答

0

主義不適用任何類型的驗證你的實體:它只是加載和保存應用所需的類型轉換數據(如果事情是不對您的對象失敗)。

length屬性在您使用Doctrine的模式工具時只是在模式生成過程中提供幫助。

最終您仍然可以使用Doctrine 2 ORM的元數據API提取該值,但考慮爲這些任務使用適當的驗證庫。

+0

什麼是適當的驗證庫? 我可以創建我自己的驗證庫嗎?如果我這樣做,我會從哪裏開始(鏈接到教程plz:D) – 2013-02-22 18:45:36

+1

有像'Zend \ Validator'和'Symfony \ Validation'等庫,例如... – Ocramius 2013-02-22 21:38:11