我目前有一個需要支持兩種不同版本的表單。每個版本可能使用不同的表單字段子集。我必須這樣做來支持兩個不同的客戶端,但我不希望爲這兩個客戶端有完全不同的控制器操作。如何支持模型屬性的條件驗證
所以,我試圖想出一種方法來使用具有驗證屬性的強類型模型,但其中的一些屬性是有條件的。
我能想到的一些方法類似於史蒂夫桑德森的partial validation方法。
我在哪裏清除過濾器中的模型錯誤OnActionExecuting基於表單的哪個版本處於活動狀態。
另一種方法我想會打破模型成使用的東西像塊
class FormModel
{
public Form1 Form1Model {get; set;}
public Form2 FormModel {get; set;}
}
,然後找到一些辦法只有驗證取決於版本的相應屬性。模型上也會有共同的屬性,這兩個屬性都會被驗證。
有沒有人有這方面的好建議?
我喜歡這個主意西蒙。我會放棄它。 – Jeff 2010-04-06 16:50:16
@jeff我起初並不喜歡 - 所以我很高興你已經這麼做了。對於我要完成的簡單任務來說,工作得非常好 – 2010-04-06 19:42:28