タイトルのとおり、リモート検証を使用してユーザー名フィールドを検証します。しかし、フィールドの名前Html
はUser.Username
. ドットを持つ名前のパラメーターを渡すにはどうすればよいですかUser
dot
Username
。一致フィールド名でパラメーターを使用しない場合。検証が機能しませんか? 誰でも解決策を提供できますか?
UPDATE SOURCE CODE:
これが私のアクションメソッドです:
public JsonResult ValidateUsername(string Username)
{
var user = IUserRepo.GetUserByUrName(Username);
if (user!=null)
{
return Json("Vui lòng chọn tên khác, tên đăng nhập đã tồn tại.",JsonRequestBehavior.AllowGet);
}
return Json(true,JsonRequestBehavior.AllowGet);
}
エンティティで有効なプロパティ:
[Required(ErrorMessage="Tên đăng nhập không được rỗng.")]
[StringLength(10,ErrorMessage="Tên đăng nhập không được vượt quá 10 ký tự.")]
[RegularExpression(@"(\S)+", ErrorMessage = "Không được có khoảng trắng.")]
[Remote("ValidateUsername", "Account")]
public string Username { get; set; }
そしてビュー:
<tr>
<td class="info_label">Tên đăng nhập</td>
<td>@Html.EditorFor(m => m.User.Username)
</td>
<td class="check_user">@Html.ValidationMessageFor(m => m.User.Username)</td>
</tr>
firebug のビューの名前は ですUser.Username
が、アクション メソッドへのパラメータ パスは ですUsername
。一致しないため、フィールドが呼び出されないか有効でない理由です。どのようUser.Username
にパラメータとして渡すことができますか?