簡體   English   中英

Html.EditorFor()不支持數據注釋

[英]Html.EditorFor() does not honor data annotations

我有一個具有以下屬性的模型:

[Required]
[HiddenInput(DisplayValue = false)]
public override int Id { get; set;}

現在,我的理解是,在呈現屬性時,html助手應該遵循這些數據注釋屬性。 但是,當我這樣做

@Html.EditorFor(m => m.Id) 

生成以下html:

<input class="text-box single-line" id="Id" name="Id" type="number" value="2">

我希望隱藏這個字段,但事實並非如此。 我找到了另一個支持注釋屬性的助手:

@Html.Editor("Id")

由此產生的html將字段設置為隱藏,因為它應該是:

<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Id" name="Id" type="hidden" value="2">

據我所知,兩個助手都來自命名空間System.Web.Mvc.Html,兩者的實現都來自System.Web.Mvc Assembly,版本5.2.3.0。

我想使用@ Html.EditorFor()方法,但我還需要數據注釋。

歡迎所有想法

由@JakubJankowski在評論中解決。 @ Html.EditorFor()不支持覆蓋屬性上的數據注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM