在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时,有没有什么办法可以像上面第一个例子那样强制它返回?

4 Solutions collect form web for “在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'. 
  • ASP.Net MVC3 Html.PasswordFor不填充
  • 如何在razor文件中指定CSS @media?
  • MVC @RenderSection“部分已被定义,但尚未呈现”脚本。 当多层次的页面
  • ASP MVC的HREF到一个控制器/视图
  • 添加一个css类来select使用@ Html.DropDownList()
  • 什么时候应该使用Html Helpers,Razor Helpers或Partial Views?
  • MVC如何显示模型中的字节数组图像
  • ASP.NET MVC:Html.EditorFor和多行文本框
  • MVC3 Url.Action查询string生成
  • Visual Studio 2015破碎的剃刀智能感知
  • ASP.NET MVC 3 - 部分VS显示模板与编辑器模板