在Html.Textbox上设置必需的属性
我正在寻找创build一个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
是一个布尔属性 ,我引用:
元素上布尔属性的存在表示真值,缺less属性表示假值。 如果该属性存在,则其值必须是空string,或者是该属性规范名称的ASCII不区分大小写的匹配值,且不包含前导或尾随空格。
因此
required required="required" required=""
都意味着同样的事情。
你似乎应用了一个不同的类到文本框: input-xlarge
,而在你想要的标记中,它被称为span3
。
所以:
@Html.TextBox( "CustomerEmail", null, new { @class = "span3", type = "email", 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'.