データアノテーションを尊重していません。今すぐHtml.EditorForは()私は、次のプロパティを持つモデル持って
[Required]
[HiddenInput(DisplayValue = false)]
public override int Id { get; set;}
を、それは、HTMLヘルパーがプロパティをレンダリングするとき、アノテーション属性、これらのデータを尊重することになっているというのが私の理解があります。私は、次のHTMLが生成され
@Html.EditorFor(m => m.Id)
を行うときしかし:
<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アセンブリバージョン5.2.3.0です。
@ Html.EditorFor()メソッドを使用したいと思いますが、データアノテーションも必要です。
すべてのアイデアを歓迎します。
多分それは相続と関係がありますか?たぶんヘルパーは基本クラスレベルの属性しか探していないのでしょうか?ただの考え –
@JakubJankowskiそれはそれでした!いくつかのメソッドが基本クラスを見ていて、他のメソッドはそうではありませんが、確かにそれを修正しました。ありがとう。 – Toodleey
@Christosこれはあなたがタグ付けした投稿の複製です。 – Toodleey