Search code examples
asp.netasp.net-mvcasp.net-mvc-3validationremote-validation

Parameter Name in Remote Model Validation Action of MVC3


I use Remote validation attribute for SSN property, In view Page I use generic view then the ssn field is like:

@Html.EditorFor(model => model.MainModel.SSN)
@Html.ValidationMessageFor(model => model.MainModel.SSN)

and My Action is:

public JsonResult IsValidaSSN(string SSN) {

  //....

    return Json(result, JsonRequestBehavior.AllowGet);

}

but always SSN is null in action, I also try MainModelSSN, MainModel_SSN but no change and always is null, what is your suggestion? what is the correct name for MainModel.SSN in action argument?


Solution

  • You could try specifying a prefix:

    public Action IsValidaSSN([Bind(Prefix = "MainModel")] string SSN) 
    {
        //....
        return Json(result, JsonRequestBehavior.AllowGet);
    }
    

    MainModel is the prefix that is used to send the data => MainModel.SSN.