0

我有一个在 MVC 4 框架中使用不显眼的验证来验证的表单。我在我的视图模型中的一个字段上有一个远程注释,它似乎阻止了表单提交。这向我表明有些事情不太正常。然而,我似乎无法弄清楚它是什么?

    [Remote("ValidateHosFin", "EditEncounter", AdditionalFields = "HostpitalFinNumber, IsFlagSet", ErrorMessage = "Got Damn this is complex!")]
    [MinLength(6,ErrorMessage="The Hospital Fin must have 6 numerals")]
    public string HostpitalFinNumber { get; set; }

它应该调用这个方法......它永远不会被调用,因为我设置的断点永远不会被命中......

    [HttpPost]
    [OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
    public ActionResult ValidateHosFin(string hospitalFin, string encflag) {
        return Json(DataRepository.ValidateHosFin(encflag, hospitalFin), JsonRequestBehavior.AllowGet);
    }

这当然是在public class EditEncounterController : Controller{ //... }

我立即想到的一件事是我的输入值不正确......但它们看起来很好。

4

1 回答 1

2

尝试将 HospitalFinNumber 从 AdditionalFields 参数中取出。这已经是 Remote 属性的主题,所以会自动发送。您导致它被发送两次,这意味着它正在寻找具有三个参数的方法。

另一件事...... MVC4绑定匹配字段名......您正在发送附加字段“IsFlagSet”,但您的方法正在寻找字段“encflag”......这些不会在远程调用中链接.

于 2013-08-16T19:01:58.223 回答