C# 创建或更新密码字段时的验证

C# 创建或更新密码字段时的验证,c#,asp.net-mvc,asp.net-mvc-4,validation,C#,Asp.net Mvc,Asp.net Mvc 4,Validation,我已经创建了一个PartialView\u CreateOrUpdate用户。但是,当我更新用户信息时,我不想显示验证密码字段。我想在更新用户时禁用它 我怎么做 我的视图模型: [Required(ErrorMessage = "this field is required."), DisplayName("Password")] public string Password { get; set; } 我的CreateOrUpdate视图: <label class

我已经创建了一个
PartialView\u CreateOrUpdate
用户。但是,当我更新用户信息时,我不想显示验证密码字段。我想在更新用户时禁用它

我怎么做

我的视图模型:

   [Required(ErrorMessage = "this field is required."), DisplayName("Password")]
   public string Password { get; set; }
我的CreateOrUpdate视图:

    <label class="control-label">@Html.LabelFor(model => model.Password)</label>
    <div class="controls">
        @Html.PasswordFor(model => model.Password)
        <span class="help-inline">@Html.ValidationMessageFor(model => model.Password)</span>
    </div>
@Html.LabelFor(model=>model.Password)
@Html.PasswordFor(model=>model.Password)
@Html.ValidationMessageFor(model=>model.Password)

您不能在一个视图中将模型字段设置为必填字段,而在另一个视图中将其设置为可选字段。创建单独的模型和视图,也许使用一些继承和部分可以减少代码重复。

我认为您可以在视图中清空“help inline”,然后使用类似javascript的

if(update == false) { 
     $('.help-inline').html('@Html.ValidationMessageFor(model => model.Password');
}
else {
     $('.help-inline').html('');
}