我有麻煩了,請求您的幫助。MVC3部分模型驗證
我有一個簡單的類
public class Test
{
[Key]
public string a { get; set; }
[Required]
public string c { get;set; }
public string b { get; set; }
}
我創建了一個簡單的表格,提交新的實體實例和它的作品。 編輯時遇到問題: 編輯表單顯示'a'和'b'屬性。因爲「C」只能在新的實體提交,不得展示(不要問爲什麼),我更新方法:
public ActionResult Edit(Test t)
{
if (ModelState.IsValid)
{
//get the m instance
UpdateModel(m,//other params);
ValidateModel(m);
}
//saving code
}
Obiously ModelState.IsValid
永遠是假的(因爲「C」需要」,但它爲空)並且UpdateModel
引發異常(出於同樣的原因)。 我怎麼能說MVC3「不驗證這個領域,只有在這個控制器方法?」 顯然,我不會在模型類中寫入未驗證的字段!我只需要更新'b'屬性。 謝謝。
你有沒有想過關於使用FluentValidation,通過這種方式,您可以使用RuleSets,並在控制器內設置針對哪個RuleSet進行驗證。 – Qpirate
我會馬上檢查它。謝謝。 – Vincenzo