设置必要的属性上Html.Textbox(Set required attribute on Htm

2019-07-18 03:00发布

我期待建立一个引导风格的文本框,具体而言,基于下面的具体例子:

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

这是我到目前为止有:

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

然而, required = "required"显然并不只返回required

所以,我的问题是,有没有什么办法可以迫使它返回像使用Html.Textbox时,上面第一个例子需要?

Answer 1:

我想你应该这样使用

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

我认为这会帮助你。



Answer 2:

尝试

new { required = string.Empty}

顺便说一句,根据W3C文档, required是一个布尔属性 ,我引用:

一个元件上的布尔属性的存在表示真实值,并且不存在属性的表示假值。 如果存在该属性,其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写的匹配,没有前导或尾随空白的值。

因此

required
required="required"
required=""

都意味着同样的事情。



Answer 3:

你似乎已经应用了不同类的文本框: input-xlarge ,而在您需要的标记,它被称为span3

所以:

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

至于所需的部分而言,这里的正确的语法required="required" ,否则你只是得到破碎的HTML。



Answer 4:

我注意到,你也可以使用。

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'.


文章来源: Set required attribute on Html.Textbox