c# - MVC 3,用于用户注册过程的 View 模型。密码验证无法正常工作

标签 c# asp.net-mvc-3 view model passwords

我正在尝试使用 MVC 3 创建一个用户注册页面,以便我可以更好地理解它的工作过程、幕后发生的事情等。我在尝试使用 时遇到了一些问题[比较] 检查用户是否输入了两次相同的密码。

我首先尝试将 ComparePassword 字段添加到我的用户模型中,但发现这不会按照我想要的方式工作,因为我在数据库中没有该字段,所以显而易见的答案是创建使用相同信息的 View 模型,包括 ComparePassword 字段。

所以我现在创建了一个 User 模型和一个 RegistrationViewModel,但是密码上的 [Compare] 似乎没有返回任何东西,例如无论我在两个框中放入什么,当我点击创建时它都没有给出错误,在我看来这意味着它已成功验证。

我不确定我在做什么或不做什么才能使这项工作正常进行。我尝试将 jQuery.Validate 更新到最新版本,因为旧版本中报告了一些错误,这对我的努力没有帮助。

下面是我正在使用的所有代码。

    public class RegistrationViewModel
    {
        [Required]
        [StringLength(15, MinimumLength = 3)]
        [Display(Name = "User Name")]
        [RegularExpression(@"(\S)+", ErrorMessage = " White Space is not allowed in User Names")]
        [ScaffoldColumn(false)]
        public String Username { get; set; }

        [Required]
        [StringLength(15, MinimumLength = 3)]
        [Display(Name = "First Name")]
        public String firstName { get; set; }

        [Required]
        [StringLength(15, MinimumLength = 3)]
        [Display(Name = "Last Name")]
        public String lastName { get; set; }

        [Required]
        [Display(Name = "Email")]
        public String email { get; set; }

        [Required]
        [Display(Name = "Password")]
        [DataType(DataType.Password)]
        public String password { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Re-enter Password")]
        [Compare("Password", ErrorMessage = "Passwords do not match.")]
        public String comparePassword { get; set; }
    }

最佳答案

CompareAttribute 区分大小写吗?我在属性中看到您引用“密码”,但您的属性被声明为“密码”。

关于c# - MVC 3,用于用户注册过程的 View 模型。密码验证无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162459/

相关文章:

image - Drupal - 将灯箱与 View (Rel 属性)一起使用 - 在输出链接中

c# - 如何在可移植类库中引用 Microsoft.CSharp?

javascript - 传递参数

c# - JavaScriptSerializer.反序列化数组

android - setContentView 说找不到源

ios - 更改 subview Controller

javascript - 带有 DataTable.net 数据表的 ASP.Net Core 2.1 不显示任何数据

c# - 什么时候以及为什么我们应该使用类 System.ComponentModel.Container?

c# - 您可以输入 APO/FPO 和美国地址的 Web 表单

asp.net-mvc - Asp.Net MVC Html Helper 扩展