2
假設您有
User
模型。控制器正在嘗試創建新的User
。控制器是否應該檢查用戶名是否有效,密碼是否足夠長,名字和姓氏是否填寫等?還是應該通過Create
方法將所有數據直接傳遞給User
模型?那麼Create
方法會在成功時返回true,否則返回false?如何從模型中獲取錯誤消息如果是後者(我認爲是),那麼錯誤消息如何發回控制器(以便它們可以顯示在視圖中)?你應該通過一個
errors
數組到Create
模型增加的方法嗎?或者應該使用適當的訪問器來保存模型的內部存儲錯誤?我不喜歡這兩種方法......有更好的方法嗎?
這些錯誤似乎並不例外,所以我不認爲異常處理是適當的。
編輯:我在這個項目中使用PHP,但我也使用Python。
我使用PHP或Python + Django – Matt 2010-06-21 02:48:17
在包含所有驗證錯誤(集合或數組)的模型上添加一個實例變量。然後,在您的「創建」方法中,將錯誤添加到此實例變量中,只要您認爲合適。在控制器中,您可以檢查「錯誤」並顯示正確的視圖。在視圖中,您可以進一步檢查錯誤以顯示內嵌消息。在Django中,請參閱:http://docs.djangoproject.com/en/dev/ref/validators/#ref-validators。 – 2010-06-21 03:03:34