MVC剃刀密码必填字段在新建或编辑场景中出现问题

MVC razor password required field issue in New or Edit scenario

本文关键字:编辑 问题 新建 密码 剃刀 字段 MVC      更新时间:2023-09-26

型号:

[StringLength (50 , ErrorMessage = "Password: Exceeds Size" )]
public string Password
{
    get;
    set;
}

视图:

 @Html.LabelFor(m => m.Password)
 @Html.PasswordFor(m => m.Password)
  @{ Html.ValidateFor(m => m.Password); }

这是我的模型&视图,但由于安全问题,密码字段未在编辑模式下填充(即,无法将DB中的密码值分配给此密码字段)。但不引人注目的javascript验证运行良好。由于我们有编辑问题,当我在谷歌上搜索时,我得到了替换视图的解决方案,如下所示;

@Html.LabelFor(m => m.Password) 
<input type="password" name="Password" id="Password" value="@Model.Password" />
@{ Html.ValidateFor(m => m.Password); }

但这并没有提高我在模型中所需的验证集。还发现,由于数据val属性没有绑定,因此不引人注目的JS验证对该密码字段无效。

所有其他验证工作正常。能给我一个解决这个问题的办法吗。?

@Html.TextBoxFor(m => m.Password, new { type = "password" })

但是PasswordFor[()]没有设置值是有原因的(出于安全原因,您应该尽量减少传递密码)

因为这只提供给管理员,而且是加密的。我可以使用这个解决方案。