RemoteAttributeを使用して、モデルの 2 つのフィールドの検証を定義しました。各テキスト ボックスの値はサーバーに正常に送信されますが、インスタンスごとに異なる名前のオブジェクトとして送信されます。これは適切なデフォルトですが、多数のフィールドに同じリモート メソッドを再利用したいと考えています。PrimaryEmailとSecondaryEmailをサーバー側のメールプロパティにバインド/マップするように MVC に指示するにはどうすればよいですか?
これを試してみましたが、うまくいきません: (メールは常に null です)
モデル:
public class UserModel {
[Remote("EmailCheck", "Profile", HttpMethod = "post", ErrorMessage = "The email is already in use.")]
public string PrimaryEmail { get; set; }
[Remote("EmailCheck", "Profile", HttpMethod = "post", ErrorMessage = "The email is already in use.")]
public string SecondaryEmail { get; set; }
}
サーバー側のアクション:
public JsonResult EmailCheck([Bind(Include = "PrimaryEmail, SecondaryEmail")]string email)
{
return Json(!_serviceManager.UserProfileService.IsEmailInUse(email));
}
サーバーに送信された JSON:
PrimaryEmail=abc%40yahoo.com
SecondaryEmail=abc%40yahoo.com