【问题标题】:"REQUIRED" attributes not working in PHP HTML“必需”属性在 PHP HTML 中不起作用
【发布时间】:2021-05-31 23:54:40
【问题描述】:

我试图为空字段添加验证。如果字段为空,则不会提交表单。但我的“必需”属性不起作用。

Birthdate: 
<select name="month" required>
<option value="0" required>Select Month</option>
    <?php
        for( $m = 1; $m <= 12; $m++ )
            {
                $num = str_pad( $m, 2, 0, STR_PAD_LEFT );
                $month = date( 'F', mktime( 0, 0, 0, $m + 1, 0, 0 ) );?>
                <option value="<?php echo $num;?>"><?php echo $month; ?></option>
                <?php
            }
    ?>
    </select>

</select>

【问题讨论】:

  • @SvenEberth 我试图添加验证。如果字段为空,则不会提交表单:
  • 您是否从@SvenEberth 发布的链接中阅读了已接受的答案?你的第一个 value 应该是空的,required 才能工作
  • 你好@ace_mbj你必须将一个&lt;option&gt;标签值设置为空,因为没有空的&lt;option&gt;这就是为什么需要失败并且通过设置@987654327将选定的值发送给你的后端@它正确验证

标签: php html


【解决方案1】:

选项标签没有必需的属性。

<select name="month" required>
<option value="0">Select Month</option>
    <?php
        for( $m = 1; $m <= 12; $m++ )
            {
                $num = str_pad( $m, 2, 0, STR_PAD_LEFT );
                $month = date( 'F', mktime( 0, 0, 0, $m + 1, 0, 0 ) );?>
                <option value="<?php echo $num;?>"><?php echo $month; ?></option>
                <?php
            }
    ?>
</select>

https://developer.mozilla.org/es/docs/Web/HTML/Element/option

【讨论】:

    【解决方案2】:

    &lt;option&gt; 不需要'required',只有&lt;select&gt; 就足够了。如果您想将第一个作为默认值,请使用“已选择”而不是“必需”。

    【讨论】:

      【解决方案3】:

      您可以在第一个选项中取消设置值。示例:

      <select name="month" required>
            <option value="" required>Select Month</option>
            <option value="1">January</option>
            <option value="2">February</option>
            <option value="3">March</option>
            <option value="4">...</option>
      </select>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-28
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 2020-01-04
        • 1970-01-01
        • 2014-07-29
        • 1970-01-01
        相关资源
        最近更新 更多