我創建了我的教訓記錄這樣:從POST保存記錄學說1.2:整數模型現場驗證錯誤
$user = new User();
$user->fromArray($_POST);
$user->save();
這將引發異常:
Uncaught exception 'Doctrine_Validator_Exception' with message 'Validation failed in class User 1 field had validation error: * 1 validator failed on dni (type)
當然, 「dni」字段的類型爲:integer,HTTP POST包含所有值作爲字符串。這就是驗證失敗的原因。通過驗證的唯一方法是這樣做的:
$_POST['dni'] = (int) $_POST['dni'];
但它「感覺」錯了。作爲說明,我正在將Doctrine集成到CodeIgniter中。這與Symfony一起工作時從未發生過。
非常感謝。
現在我將「dni」字段更改爲字符串類型。 :S – 2011-04-18 06:40:18