2011-11-23 78 views
0

我有一個名爲IsFieldA的布爾標誌和兩個字符串字段FieldA和FieldB。在ASP.Net MVC +實體框架中設置字段更新序列

我想根據IsFieldA值對FieldA或FieldB進行驗證。 (如果IsFieldA爲true,則只檢查FieldA,否則只檢查FieldB)

我試着通過刪除這兩個字段的生成驗證來創建一個FieldAOrFieldB字段,該字段設置/獲取字段值取決於IsFieldA值,並從那裏檢查。表單字段綁定在這個混合字段上。

當我翻轉IsFieldA值時,我得到驗證失敗,因爲它檢查錯誤的字段。它先更新字段,然後翻轉IsFieldA值。

有沒有辦法設置字段更新時的順序?我想先更新開關,然後再更新FieldA或FieldB。更新順序是否由它在實體中顯示的順序設置?

回答

0

您可以創建自定義驗證屬性。通過將屬性放在類上,您可以訪問所有字段,以便可以檢查其值並相應地進行驗證。這question有一個很好的例子,並鏈接到 brad wilson的文章。