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