在 MVC 中以编程方式包含模型属性 ASP.net
本文关键字:模型 属性 ASP net 方式包 MVC 编程 | 更新日期: 2023-09-27 18:32:34
我知道我可以通过绑定属性排除或包含属性上的绑定,但我不确定我是否可以以编程方式执行此操作(无需创建单独的 ViewModel)。我想实现这一点的原因是因为我有一个密码字段,只有在用户在其字段中输入值时才应包含该字段。
使用:
if (string.IsNullOrEmpty(model.Password))
{
ModelState.Remove("Password");
}
使 viewModel 中的 Password 属性可选,换句话说,不要批注 required。通常,所有其他验证(必需属性除外)在值为空/空时通过。
class MyViewModel
{
[MinLength(6)]
[HasUpper(1)]
[HasLower(1)]
// [Required] remove this line
public String Password { get; set; }
}
然后在控制器操作测试中,密码属性是否为空或空
if (!String.IsNullOrEmpty(model.Password))
{
// the user has entered value in its field
}