2013-10-02 126 views
1

我的公司正在開發一個多租戶應用程序,必須通過數據庫完全可定製。這包括驗證,所以我創建了幾個表,其中包含有關jquery驗證方法的信息以及將它們分配給屬性的方式。Asp.net MVC 4動態服務器和客戶端驗證

我禁用了自動屬性驗證生成,並用正確生成多個客戶端驗證規則的屬性標記了每個相關屬性。但是,當我必須在服務器端驗證模型時會出現問題。我已經對所需的數字和數字進行了驗證,但是我對這個解決方案並不滿意。

有沒有辦法將我的自定義驗證屬性與內置屬性動態鏈接?總的想法是,我的自定義驗證器將從數據庫中接收一組必需的驗證方法,並將驗證檢查傳播到內置的MVC驗證方法中,因此我不必實現它。

對不起,沒有發佈代碼,但我不能這樣做。如果這在MVC中是可行的,我仍然會欣賞一般指導原則。

謝謝


更新:

我的屬性擴展ValidationAttribute和IClientValidatable。

客戶端驗證不是問題。 IClientValidatable返回一個ModelClientValidationRule的枚舉,MVC完美地轉化爲適當的jQuery驗證規則。數據庫存儲jquery驗證方法名稱,例如'digits','number'等,以及方法參數。

我的問題是「public override bool IsValid」方法。我可以得到執行jQuery驗證的列表,但我必須手動實現驗證方法。基本上,我想檢查驗證規則,如果它等於'required',我希望MVC的RequiredAttribute驗證被執行。

回答

0

我這樣做之前,創建將取決於數據庫的信息來驗證數據自己的驗證屬性,還可以創建自定義的助手來解析取決於屬性值

+0

所以,你已經知道什麼,只是做正確的客戶端驗證從屬性創建你的ValidationAttribute並對其進行編碼,或者你需要更多的特定的阻止你的東西 – sino

相關問題