2011-02-01 23 views
0

我最近在asp.net MVC中閱讀了一些關於模型綁定和驗證的文章和問題。到目前爲止我所錯過的是給定的外鍵ID(例如相關項目的下拉列表)的驗證。驗證提交的外鍵的優雅方法

如果我們考慮以下情況:

有一個實體(即網站區),具有一組文件夾,並允許用戶把輸入到該文件夾​​,但只爲屬於該文件夾到用戶有權訪問的網站區域。

那麼,如果給定的外鍵值屬於屬於有問題的網站區域的文件夾集合,那麼可以用什麼樣的方法來驗證?

我認爲通過使用自定義模型綁定器和/或可訪問數據存儲庫的自定義驗證器來執行此檢查會很明智嗎?

回答

0

爲什麼不讓數據庫完成它的工作並讓它驗證FK。在您的控制器中,您可以處理錯誤,並在您認爲合適的情況下回顯視圖。

+0

這個問題並不是FK約束的純粹性質(因爲在這種情況下你是對的),而是一個訪問控制問題,當只提供一個特定子集的特定類型的父實體(即只有行位置特定到這個發票或其他)。但我想我可以轉移你的想法。考慮到用戶界面周圍的直接操作 - 不是預期的用例,因此模型/數據庫層引發的異常將是合適的。 – 2011-02-01 20:04:01