新建或编辑方案中的MVC剃刀密码必填字段问题

时间:2016-08-02 08:09:33

标签: javascript asp.net-mvc validation asp.net-mvc-4 razor

型号:

[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验证工作正常。由于我们有编辑问题,因为我用Google搜索我有解决方案来替换下面的视图;

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

但是这并没有在模型中提高我所需的验证集。还发现由于data-val属性没有绑定 - 不显眼的JS验证不适用于此密码字段。

所有其他验证工作正常。我可以解决这个问题。?

1 个答案:

答案 0 :(得分:0)

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

但是有一个原因,为什么PasswordFor()不设置值(出于安全原因,你应该尽量减少传递密码)

由于这仅供管理员使用,因此已加密。我可以使用这个解决方案。