2010-06-21 85 views
2
  1. 假設您有User模型。控制器正在嘗試創建新的User。控制器是否應該檢查用戶名是否有效,密碼是否足夠長,名字和姓氏是否填寫等?還是應該通過Create方法將所有數據直接傳遞給User模型?那麼Create方法會在成功時返回true,否則返回false?如何從模型中獲取錯誤消息

  2. 如果是後者(我認爲是),那麼錯誤消息如何發回控制器(以便它們可以顯示在視圖中)?你應該通過一個errors數組到Create模型增加的方法嗎?或者應該使用適當的訪問器來保存模型的內部存儲錯誤?我不喜歡這兩種方法......有更好的方法嗎?

這些錯誤似乎並不例外,所以我不認爲異常處理是適當的。

編輯:我在這個項目中使用PHP,但我也使用Python。

回答

1

對於第一個問題,模型應該進行驗證(並使用某種形式的錯誤處理來通知控制器並查看錯誤是否發生)。第二,它取決於你使用的是什麼編程語言/框架......你在用什麼?

+0

我使用PHP或Python + Django – Matt 2010-06-21 02:48:17

+0

在包含所有驗證錯誤(集合或數組)的模型上添加一個實例變量。然後,在您的「創建」方法中,將錯誤添加到此實例變量中,只要您認爲合適。在控制器中,您可以檢查「錯誤」並顯示正確的視圖。在視圖中,您可以進一步檢查錯誤以顯示內嵌消息。在Django中,請參閱:http://docs.djangoproject.com/en/dev/ref/validators/#ref-validators。 – 2010-06-21 03:03:34

相關問題