gpt4 book ai didi

c# - 使用也接受空的属性验证密码长度?

转载 作者:行者123 更新时间:2023-11-30 14:39:08 25 4
gpt4 key购买 nike

我想在编辑时验证密码长度如果输入密码,否则为空应该被认为是可以的。

我看到了在编辑模型中跳过密码属性并在代码中进行验证的建议,但我想使用属性进行所有验证。

看来图书馆里应该有这样的东西。我只是错过了吗?
我在 AspNet 3.5 上使用 EntLib 5 VAB 和 MVC 2。

Vanilla 编辑模型:

[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
public class EditAccountModel
{
public Guid ProviderUserKey { get; set; }

[Required]
[DisplayName("User name")]
public string UserName { get; set; }

[Required]
[Email(ErrorMessage = "Not a valid email")]
[DataType(DataType.EmailAddress)]
[DisplayName("Email address")]
public string Email { get; set; }

//[ValidatePasswordLength] <- Requires password
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[DisplayName("Confirm password")]
public string ConfirmPassword { get; set; }
}

最佳答案

ValidatePasswordLengthAttribute 不是 MVC 核心的一部分,而是在您的项目中从 AccountModels.cs 中的默认 MVC 项目模板创建的。您可以自由修改其实现。更改 IsValid 方法以接受 null 和空字符串作为有效值。

public override bool IsValid(object value) {
string valueAsString = value as string;
return String.IsNullOrEmpty(valueAsString) || valueAsString.Length >= _minCharacters);
}

关于c# - 使用也接受空的属性验证密码长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com