2011-05-19 98 views
1

我有两个型号,即登录和注册:在模型中使用相同命名属性时不显示验证消息?

登录型号

public class LoginModel 
    { 
     [Required(ErrorMessage = "Email is required")] 
     [RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$", ErrorMessage = "Not a valid email")] 
     [DataType(DataType.EmailAddress)] 
     [DisplayName("Email")] 
     [StringLength(150, ErrorMessage = "Must be less than 150 characters")] 
     public string Email { get; set; } 

     [Required(ErrorMessage = "Password is required")] 
     [DataType(DataType.Password)] 
     [DisplayName("Password")] 
     [StringLength(30, ErrorMessage = "Must be less than 30 characters")] 
     public string LoginPassword { get; set; } 

     [DisplayName("Remember me")] 
     public bool Remember { get; set; } 

    } 

注册型号:

public class RegisterModel 
    { 
     [Required(ErrorMessage = "Email is required")] 
     [RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$", ErrorMessage = "Not a valid email")] 
     [DataType(DataType.EmailAddress)] 
     [DisplayName("Email")] 
     [StringLength(150, ErrorMessage = "Must be less than 150 characters")] 
     public string Email { get; set; } 

     [Required(ErrorMessage = "Full Name is required")] 
     [DisplayName("Full Name")] 
     [StringLength(50, ErrorMessage = "Must be less than 50 characters")] 
     public string FullName { get; set; } 

     [Required(ErrorMessage = "Password is required")] 
     [DataType(DataType.Password)] 
     [DisplayName("Password")] 
     [StringLength(30, ErrorMessage = "Must be less than 30 characters")] 
     public string RegisterPassword { get; set; } 

     [Required(ErrorMessage = "Confirm Password is required")] 
     [DataType(DataType.Password)] 
     [DisplayName("Confirm Password")] 
     [StringLength(30, ErrorMessage = "Must be less than 30 characters")] 
     public string ConfirmPassword { get; set; } 

     [Required(ErrorMessage = "Please read and agree the terms and condition.")] 
     [DisplayName("I agree to the terms and conditions")] 
     public bool AgreeTerms { get; set; } 

    } 

,他们都被称为使用一个单独的模态弹出窗口的主页上 - >因此可以说,如果用户注册自己(并注册时他按下输入,而不输入电子邮件,并显示验证信息)。成功注册后,用户尝试登录(并且他再次按下输入,而不输入电子邮件),但此时不显示验证消息。

据我所知,未显示验证摘要的原因是验证消息出现在当前不可见的注册模式中,这是因为两种模型都使用电子邮件(名为:Email)字段属性。

我可以实现我对电子邮件字段使用不同名称的愿望行为,但有没有这样做的方式?

除此之外,我可以从Register模型继承并将其用于登录目的,同时这么做会是我上述场景的输出吗?

回答

相关问题