RemoteAttribute を使用して、JSON を使用してサーバー側のデータ要素を検証しようとしています。私のデータフィールドは次のとおりです。
[Display(Name = "My Number")]
[Required]
[Remote("IsValidMyNumber","Home",ErrorMessage="Bummer")]
public string MyNumber { get; set; }
私のコントローラーは:
public JsonResult IsValidMyNumber(string MyNumber)
{
var test = services.ValidateMyNumber(MyNumber);
return Json(test,JsonRequestBehavior.AllowGet);
}
私の見解は次のとおりです。
<div class="editor-field">
@Html.EditorFor(model => model.CheckInformation.MyNumber)
@Html.ValidationMessageFor(model => model.CheckInformation.MyNumber)
</div>
生成される HTML は次のとおりです。
<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="" />
デバッグしてコントローラー内にステップインすると、これが表すテキストボックスにテキストがあるにもかかわらず、「MyNumber」パラメーターが null になります。
名前は、テキストボックスとパラメーターと同じでなければならないことを知っており、それを検証しました。
何か案は?