C# Asp.NETMVC如何进行条件验证
我正在尝试构建一个演示应用程序,以获得Asp.NETMVC5开发经验。在这些日子里,我试图建立一个网站设置 我有一个名为“设置”的模型。这里有如下属性C# Asp.NETMVC如何进行条件验证,c#,asp.net-mvc-5,asp.net-mvc-validation,validationattribute,C#,Asp.net Mvc 5,Asp.net Mvc Validation,Validationattribute,我正在尝试构建一个演示应用程序,以获得Asp.NETMVC5开发经验。在这些日子里,我试图建立一个网站设置 我有一个名为“设置”的模型。这里有如下属性 public int PasswordRequiredLength { get; set; } public bool PasswordRequireNonLetterOrDigit { get; set; } public bool PasswordRequireDigit { get; set; } publi
public int PasswordRequiredLength { get; set; }
public bool PasswordRequireNonLetterOrDigit { get; set; }
public bool PasswordRequireDigit { get; set; }
public bool PasswordRequireLowercase { get; set; }
public bool PasswordRequireUppercase { get; set; }
public bool UseAlphaNumericCharacters {get; set; }
在ApplicationUserManager中,我做了这些修改
// Configure validation logic for passwords
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = CacheHelper.Settings.PasswordRequiredLength > 0 ? CacheHelper.Settings.PasswordRequiredLength : 8,
RequireNonLetterOrDigit = CacheHelper.Settings.PasswordRequireNonLetterOrDigit ? true : false,
RequireDigit = CacheHelper.Settings.PasswordRequireDigit ? true : false,
RequireLowercase = CacheHelper.Settings.PasswordRequireLowercase ? true : false,
RequireUppercase = CacheHelper.Settings.PasswordRequireUppercase ? true : false
};
因此,将在运行时指定密码验证。到现在为止,一直都还不错。应用程序更加灵活。但是RegisterViewModel呢
有如下属性
[StringLength(20, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 5)]
[RegularExpression("^([a-zA-Z0-9]{5,20})$", ErrorMessage = "The {0} must contain only alphanumeric characters")]
[Display(ResourceType = typeof (Resources.Translations), Name = "Username")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
如何验证密码的最小长度?或字母数字字符,如果passwordrequireOnletterDigit
false?用户名也是一样。这取决于是否使用字母数字字符
谢谢。您想在运行时对另一个数据的值进行验证吗?如果
public bool使用alphanumericcharacters{get;set;}
true,它来自数据库。然后使用[RegularExpression(^([a-zA-Z0-9]{5,20})$”,ErrorMessage=“{0}必须只包含字母数字字符”)]
此验证。如果是假的。不要使用。最大和最小限制值也来自数据库。您是否尝试过或使用[RequiredIf]
或类似方法attribute@TaşyürekGökşah尝试查看RemoteAttribute是否要在运行时对其他数据的值进行验证?如果public bool使用来自数据库的alphanumericCharacters{get;set;}
true。然后使用[RegularExpression(^([a-zA-Z0-9]{5,20})$”,ErrorMessage=“{0}必须只包含字母数字字符”)]
此验证。如果是假的。不要使用。最大和最小限制值也来自数据库。您是否尝试过或使用[RequiredIf]
或类似方法attribute@TaşyürekGökşah尝试查看远程属性