0
我在我的項目中使用.NET 4 MVC 2。我基本上有兩個類,我用它來驗證。 A類是我的(主)模型,B類是A類可能具有的複合屬性。代碼如下所示:.net mvc 2驗證:總結幾個屬性的值
[Bind(Exclude = "A_ID")] public class A_Validation { [Required(ErrorMessage = "something is missing")] public string title { get; set; } // some more attributes ... public B b { get; set; } }
我所有基於A類的驗證工作都非常好。但是現在我想驗證複合屬性B,看起來像下面這樣。
[Bind(Exclude = "B_ID")] public class B_Validation { [Required(ErrorMessage = "missing")] [Range(1, 210, ErrorMessage = "range between 1 and 210")] public int first { get; set; } [Required(ErrorMessage = "missing")] [Range(1, 210, ErrorMessage = "range between 1 and 210")] public int second { get; set; } [Required(ErrorMessage = "missing")] [Range(1, 210, ErrorMessage = "range between 1 and 210")] public int third { get; set; } }
我能夠檢查的範圍B的三個屬性第一,秒和第三的。 我還想要的是檢查和所有三種屬性第一,秒和第三低於某一閾值的。
任何想法如何進行?
我認爲ViewModels可能會有幫助,但我沒有使用它們的經驗。
@Darin我已經做到了這一點,但應該如何視圖能夠顯示此驗證結果? _first_,_second_和_third_都是我可以通過使用'<%:Html.ValidationMessageFor(model => model.B.first)%>'驗證的所有屬性 - 我應該如何處理總和? –
@Jaques le Fraque,因爲這個屬性適用於許多你不再使用ValidationMessageFor來顯示錯誤信息的屬性。你可以使用'ValidationSummary'助手來顯示它。 –
@Darin Dimitrov,我通過'[SumBelow(123,ErrorMessage =「sum below 123」)]'提供的'ErrorMessage'不會顯示在'ValidationSummary'中。無論如何,我也嘗試添加一個客戶端驗證,根本沒有觸發 –