1
我遇到問題,我不知道哪個結果是正確的。asp.net mvc2驗證在兩臺服務器上的行爲不同
我正在根據從哪裏運行應用程序 - 本地(調試模式)/開發(在單獨的服務器上)獲取兩種不同的方案。
我有兩個.aspx頁面上的一個視圖模型ConsultationViewModel(我想記住兩個表單之間的數據)。
形式1 兩個對象(字符串) - 酮[必需]
形式2 兩個對象(字符串) - 雙[必需]
這裏是我獲得不同的方案:
•本地主機:表單1 - 表單2 =無驗證錯誤 •開發:表單1-表單2 =驗證錯誤
表單1
public string Rate { get; set; }
[Required(ErrorMessage = "You must enter your comments")]
public string Comments { get; set; }
表2
[Required(ErrorMessage = "Please select a option")]
public string WhatAreYou { get; set; }
[Required(ErrorMessage = "Please select a option")]
public string EthnicOrigin { get; set; }
爲什麼開發服務器上它需要驗證WhatAreYou/EthinicOrigin在這些實際上從來沒有在表2中使用?
[HttpGet]
public ActionResult Index()
{
ConsultationHolderViewModel consultationViewModel = new ConsultationViewModel();
return View(consultationViewModel);
}
[HttpPost]
public ActionResult Index(ConsultationViewModel consultationViewModel)
{
if (!ModelState.IsValid)
{
return View(consultationViewModel);
}
return View("Equalities", consultationViewModel);
}
[HttpPost]
public ActionResult Equalities(ConsultationViewModel consultationViewModel)
{
if (!ModelState.IsValid)
{
return View(consultationViewModel);
}
switch (consultationViewModel.Button)
{
case "Back":
return View("Index", consultationViewModel);
case "Continue":
return View("Receipt", consultationViewModel);
}
return View("Equalities", consultationViewModel);
}
在此先感謝您的幫助,
克萊爾
我手動填充ModelState.IsValid之前的必填字段,它仍然顯示錯誤消息:consultationViewModel.WhatAreYou =「A」;/consultationViewModel.EthnicOrigin =「A」;爲什麼會這樣做?因爲這兩個字符串都包含數據 – ClareBear 2010-11-29 11:55:47