如何解决是比较验证程序有问题吗
| 这是非常基本的,但在比较验证中始终返回false。还有其他人遇到这个问题吗? 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的链接。
确认错误消息始终触发错误消息。
从部分视图确认中删除电子邮件,“比较”功能起作用。
将userName添加到部分视图和视图模型,“比较”功能失败,再次出现密码确认错误消息,始终显示错误消息。
此错误已得到修复吗?我禁用了Compare属性,并编写了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\" />
}
所以现在的问题变成了:您的代码与我的代码有何不同?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。