Jquery MVC3远程验证未生成远程数据val
脚本(按以下顺序包括): 型号: 公共类用户 { [关键] [脚手架立柱(假)] 公共Guid用户标识{get;set;}Jquery MVC3远程验证未生成远程数据val,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,脚本(按以下顺序包括): 型号: 公共类用户 { [关键] [脚手架立柱(假)] 公共Guid用户标识{get;set;} [Required(AllowEmptyStrings = false, ErrorMessage = "Username required.")] [StringLength(30, MinimumLength = 5, ErrorMessage = "Min: 5, Max: 30 characters")] [Remote("IsUsernam
[Required(AllowEmptyStrings = false, ErrorMessage = "Username required.")]
[StringLength(30, MinimumLength = 5, ErrorMessage = "Min: 5, Max: 30 characters")]
[Remote("IsUsername_Available", "Users", AdditionalFields = "Email", HttpMethod="Post", ErrorMessage = "Username already exists.")]
public string Username { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Password required.")]
[StringLength(30, MinimumLength = 5, ErrorMessage = "Min: 5, Max: 30 characters")]
[DataType(DataType.Password)]
public string Password { get; set; }
}
视图:
为用户名生成的HTML输入标记:
<input name="Users.Username" class="text-box single-line" id="Users_Username" type="text" data-val-required="Username required." data-val-length-min="5" data-val-length-max="30" data-val-length="Min: 5, Max: 30 characters" data-val="true" value=""/>
奇怪的是找不到远程验证属性。我真的很难解决这个问题。我不知道哪里出了问题。请帮帮我。我没有直接回答这个问题,因为有些事情看起来有点困惑!为什么您的HttpMethod属性是Post而控制器操作不是HttpPost?这是复制/粘贴错误吗?好的。抱歉,HttpMethod和控制器操作都不是POST。好的!我已经试过你的代码,但它不能正常工作。但是当我删除您的附加参数时(使用这个:[Remote(“IsUsername\u Available”,“Users”)]),它就可以工作了。。。这对我不起作用。。。尝试了相同的代码。
@using (Ajax.BeginForm("Create",null,new AjaxOptions(){ UpdateTargetId="form1" }, new { id = "form1", @class = "small-forms" }))
{
<fieldset>
<legend>User Registration</legend>
<div class="form-row">
<div class="col1">@Html.LabelFor(m => m.Users.Username)</div>
<div class="col2">@Html.TextBoxFor(m => m.Users.Username, new { @class = "textbox" })</div>
@Html.ValidationMessageFor(m => m.Users.Username)
</div>
<div class="form-row">
<div class="col1">@Html.LabelFor(m => m.Users.Password)</div>
<div class="col2">@Html.PasswordFor(m => m.Users.Password, new { @class = "textbox" })</div>
@Html.ValidationMessageFor(m => m.Users.Password)
</div>
</fieldset>
}
public JsonResult IsUsername_Available(string Username, string Email)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
<input name="Users.Username" class="text-box single-line" id="Users_Username" type="text" data-val-required="Username required." data-val-length-min="5" data-val-length-max="30" data-val-length="Min: 5, Max: 30 characters" data-val="true" value=""/>