I am trying to use the RemoteAttribute to validate a data element serverside using JSON. My data field is:
[Display(Name = "My Number")]
[Required]
[Remote("IsValidMyNumber","Home",ErrorMessage="Bummer")]
public string MyNumber { get; set; }
My controller is:
public JsonResult IsValidMyNumber(string MyNumber)
{
var test = services.ValidateMyNumber(MyNumber);
return Json(test,JsonRequestBehavior.AllowGet);
}
My view is:
<div class="editor-field">
@Html.EditorFor(model => model.CheckInformation.MyNumber)
@Html.ValidationMessageFor(model => model.CheckInformation.MyNumber)
</div>
The HTML generated is:
<input class="text-box single-line" data-val="true" data-val-remote="Bummer"
data-val-remote-additionalfields="*.MyNumber" data-val-remote-url="/Home/IsValidMyNumber"
data-val-required="The Number field is required." id="CheckInformation_MyNumber"
name="CheckInformation.MyNumber" type="text" value="" />
When I debug and step inside my controller the "MyNumber" parameter is null even though I have text in the textbox that this represents.
I know that the name has to be the same in the textbox as in the parameter and I have validated that.
Any ideas?