web-dev-qa-db-ja.com

Html.Textboxで必須属性を設定します

私はBootstrapスタイルのテキストボックスを、具体的には以下の正確な例に基づいて作成したいと考えています。

<input class="span3" type="email" required>

ここに私が持っているものがあります:

@Html.TextBox("CustomerEmail", null, new { @class = "input-xlarge", type = "email", required = "required" })

しかしながら、 required = "required"は、明らかにrequiredだけを返しません。

だから、私の質問は、Html.Textboxを使用するときに上記の最初の例のように、強制的に返すように強制する方法はありますか?

44
LiamGu

私はあなたがこのように使うべきだと思う

 @Html.TextBoxFor(model => model.Name, new { @class = "text", type = "email", required = "required" })

これはあなたの役に立つと思います。

67
Rajpurohit

試して

new { required = string.Empty}

余談ですが、W3Cのドキュメントによると、requiredブール属性 であり、引用します。

要素のブール属性の存在は真の値を表し、属性の不在は偽の値を表します。属性が存在する場合、その値は、空の文字列か、属性の正規名と大文字と小文字を区別しないASCIIで、先頭または末尾に空白を含まない)の値である必要があります。

だから

required
required="required"
required=""

すべて同じ意味です。

17
Pauline

別のクラスをテキストボックスに適用したようです:input-xlarge。ただし、目的のマークアップではspan3

そう:

@Html.TextBox(
    "CustomerEmail", 
    null, 
    new { 
        @class = "span3", 
        type = "email", 
        required = "required" 
    }
)

必要な部分に関する限り、ここでの正しい構文はrequired="required"、それ以外の場合、単に壊れたHTMLを取得します。

2
Darin Dimitrov

あなたも使えることに気づきました。

required="true"

興味深いのは、Visual Studio 2015に関係なく警告メッセージが表示されることです。これは更新の必要性の問題なのだろうか。

警告メッセージ:

Severity    Code    Description Project File    Line    Suppression State
Message     Validation (ASP.Net): Attribute 'required' is not a valid attribute of element 'TextBox'.
1
Netsurfer2