2016-08-13 78 views
2

我想知道如何從數據庫中進行模型驗證。 例如來自數據庫的EF模型驗證值

我有一個名爲User

它擁有財產public string UserName {get; set;}

這個屬性類有數據註解屬性[StringLength(100)]

而且我想改變這些值動態我的意思是100.我想作管理員面板,其中管理員可以例如將這些值從100改變爲他想要的例如20.這只是一個例子。

我該怎麼做?

我有想法,使新類例如 StringLenght每個屬性,從ValidationAttribute

MyOwnclass : StringLength 

繼承所以從ValidationAttribute

StringLength繼承了這個類我可以做DBContext和讀取這些值重寫IsValid方法。但我不知道需要多長時間。例如,我有一個包含15個表單輸入的註冊視圖。每個輸入都會至少向數據庫發出一個請求。性能可能不好?

有沒有其他方法可以將這些值存儲在應用程序內存中?當他更改此設置時,在Admin Controller中進行更新?

+0

這可能有幫助:http://stackoverflow.com/questions/9975535/user-defined-validation。 – DWright

回答

0

我的兩分錢,你可以將長度存儲在單獨的表中,並從管理面板中更改它。 每次插入/更新用戶時,請首先檢查該變量。您可以使用存儲過程或覆蓋ValidateEntity函數來驗證新/更新用戶的用戶名。

+0

是的,但我也想要客戶端valiadion,我不認爲它會這樣工作。 – dwaNaDziesiec

相關問題