【问题标题】:MVC 5 view still render required fieldMVC 5 视图仍然呈现必填字段
【发布时间】:2015-12-21 21:06:48
【问题描述】:

最初,我的模型中有两个必需的日期时间属性。客户端验证对他们来说很好。但是,当我在其中一个属性上注释掉所需的 DataAnnotation 时,MVC 视图仍会生成 data-val=true 等...如何解决此问题,以便不需要 mvc 视图呈现字段。

我试过 $('#endDate').rules('remove', 'required') 但它仍在检查必填字段。

型号:

public class mymodel{
  ...
  [Required]
  public Datetime startDate { get; set;}

  //[Required]
  public Datetime endDate {get; set}
}

查看:

@Html.LabelFor(model => mode.endDate ....)
@Html.EditorFor(model => model.endDate, new { htmlAttributes = new { @class = "form-control", id="endDate" } }) 

查看渲染

<input class="form-control text-box single-line hasDatepicker input-validation-error" data-val="true" data-val-date="The field endDate must be a date." data-val-required="The endDate field is required." id="endDate" ....>
<span class="text-danger field-validation-error" ....> 
    <span for="endDate" class> The endDate field is required.</span> 
</span>

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    具有不可为空类型的属性(例如DateTime)本质上是必需的,无论是否带有Required 属性,因为它们必须具有一些 值。要使其成为可选,您必须使用可为空的DateTime

    public DateTime? endDate { get; set; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-16
      • 2020-02-27
      • 1970-01-01
      • 2017-01-28
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多