【问题标题】:HTML5 validation in an auto generated Symfony2 form <select> field自动生成的 Symfony2 表单 <select> 字段中的 HTML5 验证
【发布时间】:2012-07-12 10:11:59
【问题描述】:

我在必需的选择上有以下代码:

<select required="required">
    <option value="1">01</option>
    <option value="2">02</option>
    ...
    <option value="31">31</option>
</select>

在我的 (HTML5 / symfony2) 应用程序中,它是必需的日期(天),因此该值必须介于 1 到 31 之间,并且我不想要空白/空值。

即使代码有效,它也会破坏 w3c 验证并出现以下错误:

选择元素的第一个子选项元素 属性且没有多重属性,并且其大小为 1,必须 具有空值属性,或者必须没有文本内容。

解决问题的最佳方法是什么

【问题讨论】:

    标签: html symfony w3c


    【解决方案1】:

    带有require属性:

    <select required="required">
    <option value=""></option><!-- added empty value -->
    <option value="1">01</option>
    <option value="2">02</option>
    ...
    <option value="31">31</option>
    </select>
    

    没有——只需删除require 属性:

    <select>
    <option value="1">01</option>
    <option value="2">02</option>
    ...
    <option value="31">31</option>
    </select>
    

    【讨论】:

    • 如果您不想包含空白选项,另一种方法是将&lt;select&gt;selectedIndex 设置为-1
    • 对,但我不知道它是否通过了 w3c 验证器。这是 JS 解决方案,实际上空的 option 值(验证器提到)仍然会丢失。需要测试。
    • 它会通过验证器,但我同意空的&lt;option&gt; 是更好的解决方案。我只是把它扔出去,它起作用。
    猜你喜欢
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 2015-10-31
    • 2017-06-24
    • 1970-01-01
    相关资源
    最近更新 更多