繁体   English   中英

在Html.Textbox上设置必需属性

[英]Set required attribute on 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时,有什么办法可以强制它像上面第一个例子那样返回所需的内容吗?

我想你应该这样用

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

我想这会对你有所帮助。

尝试

new { required = string.Empty}

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

元素上存在布尔属性表示真值,缺少属性表示false值。 如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格。

因此

required
required="required"
required=""

一切都意味着同样的事情。

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

所以:

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

就所需部分而言,这里required="required"正确的语法required="required" ,否则你只required="required"破坏HTML。

我注意到你也可以使用。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM