ASP.NET标识用户名(如何添加自己的验证)

本文关键字:验证 添加 何添加 自己的 NET 标识 用户 ASP | 更新日期: 2023-09-27 18:01:08

默认情况下,此属性本身是否有任何验证?比如最大长度等等。?如果是,在哪里可以找到?

我之所以这么问,是因为我打算覆盖UserName属性以添加更多验证。或者我应该在每个ViewModel中添加验证吗?

ASP.NET标识用户名(如何添加自己的验证)

我认为,强制执行更改的最佳方式是在核心,即在模型ApplicationUser级别。

modelBuilder.Entity<ApplicationUser>().Property(t => t.Name).HasMaxLength(10);

通过这种方式,数据库与您的视图验证同步,并且正确地构建了未来的控制器。

您只需添加一个Model/ViewModel即可处理此问题。

public class LoginViewModel
{
    [Required(ErrorMessage="*")]
    [StringLength(20, MinimumLength=5)]
    public string UserName { get; set; }
    [DataType(DataType.Password)]
    public string Password { get; set; }
}

这样,在您看来,您可以通知用户长度等不匹配。查看此处的DataAnnotations

编辑这就是你想要做的吗?我还没有测试过这个代码!

public class ApplicationUser : IdentityUser
{
    public string UserName
    { 
        get; 
        set
        {
            //your validation here
        } 
    }
}