这是很基本的,但它总是返回的比较验证错误。 任何人在运行这个问题?
public class UsersRegisterUserViewModel
{
[DisplayName("E-Mail Address")]
[Required(ErrorMessage = "E-Mail Address is required")]
[RegularExpression(@"^[A-Za-z0-9_\-\.]+@(([A-Za-z0-9\-])+\.)+([A-Za-z\-])+$", ErrorMessage = "Invalid E-mail Address")]
public string RegUsername { get; set; }
[Required]
[Display(Name = "Password")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
[Display(Name = "Confirm Password")]
[Compare("Password", ErrorMessage = "Passwords must match")]
[DataType(DataType.Password)]
public string RegConfirmPassword { get; set; }
}
adapters.add("equalto", ["other"], function (options) {
var prefix = getModelPrefix(options.element.name),
other = options.params.other,
fullOtherName = appendModelPrefix(other, prefix),
//element = $(options.form).find(":input[name=" + fullOtherName + "]")[0];
element = $(options.form).find(":input[name='" + fullOtherName + "']")[0];
MVC3比较属性是越野车独立账户控制器的比较密码时。 现在看来,这是硬编码只与帐户控制工作。
1.剪切和过去的电子邮件,密码,确认从RegisterModel密码到一个新的文件名为的ViewModels / ShortRegister.cs 2.切剃刀代码(电子邮件,密码,确认密码)从寄存器视图和过去它变成局部视图,称之为“_shortRegistration ”。 3.创建一个名为“ShortRegistration”新的控制器。 添加局部视图进入ShortRegistation。 5.添加相关的jQuery脚本
- 创建于ShortRegistration主页上的链接。
- 确认错误信息始终闪光的错误消息。
- 取下部分观看确认的电子邮件时,比较功能的工作原理。
- 添加用户名的局部视图,视图模型,比较功能失败,再次确认密码错误信息一直显示错误消息。
有这个bug被修复? 我禁用比较属性并写了jQuery和CCS解决这个问题! 我很乐意以电子邮件的代码,以证明是比较马车。
嗯,没有,我还没有遇到这样的问题。 我刚刚测试了下面的代码和它的工作如预期完美的罚款。
模型:
public class UsersRegisterUserViewModel
{
[DisplayName("E-Mail Address")]
[Required(ErrorMessage = "E-Mail Address is required")]
[RegularExpression(@"^[A-Za-z0-9_\-\.]+@(([A-Za-z0-9\-])+\.)+([A-Za-z\-])+$", ErrorMessage = "Invalid E-mail Address")]
public string RegUsername { get; set; }
[Required]
[Display(Name = "Password")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
[Display(Name = "Confirm Password")]
[Compare("Password", ErrorMessage = "Passwords must match")]
[DataType(DataType.Password)]
public string RegConfirmPassword { get; set; }
}
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new UsersRegisterUserViewModel();
return View(model);
}
[HttpPost]
public ActionResult Index(UsersRegisterUserViewModel model)
{
return View(model);
}
}
视图:
@model UsersRegisterUserViewModel
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
@using (Html.BeginForm())
{
<div>
@Html.LabelFor(x => x.RegUsername)
@Html.EditorFor(x => x.RegUsername)
@Html.ValidationMessageFor(x => x.RegUsername)
</div>
<div>
@Html.LabelFor(x => x.Password)
@Html.EditorFor(x => x.Password)
@Html.ValidationMessageFor(x => x.Password)
</div>
<div>
@Html.LabelFor(x => x.RegConfirmPassword)
@Html.EditorFor(x => x.RegConfirmPassword)
@Html.ValidationMessageFor(x => x.RegConfirmPassword)
</div>
<input type="submit" value="OK" />
}
所以,现在的问题是:如何是你的代码比我有什么不同?