验证| required =“true”/“false”| HTML表单

问题描述 投票:2回答:3

当我做一些基本的HTML时,我想知道为什么Sublime Text 3总是将required完成到required=""。就像我在线课程中的讲师所说,没有必要设置required="true"required="false"但是当我把它设置为假时它仍然需要它。

示例代码(即使设置为tofalse,也需要该字段):

<form>
    <input type="password" name="password" required="false">
    <button>Submit</button>
</form>

我希望你能解决这个困惑。谢谢你的每一个答案。

Farcher

html html5 forms attributes
3个回答
5
投票

在HTML中,必须存在required属性(该字段是必需的)或不存在(该字段不是必需的)。当属性存在时,它具有什么值并不重要。

required属性是布尔属性。指定时,元素是必需的。

元素上存在布尔属性表示真值,缺少属性表示false值。

关于boolean attributes

没有赋值的布尔属性(例如,检查)隐含地等同于具有分配给它的空字符串的布尔属性(即,checked =“”)。因此,它代表了真正的价值。

布尔属性不允许使用值“true”和“false”。要表示错误值,必须完全省略该属性。

通常的做法是使用属性的名称作为其值:

<form>
    <input type="password" name="password" required="required"><!-- this input is required -->

    <input type="text" name="sometext"><!-- this input is NOT required -->

    <button>Submit</button>
</form>

0
投票

required不接受布尔字符串。如果属性存在则需要它。 Sublime可能会像大多数属性一样期待一些价值。

<form>
<input type="password" name="password" required="">
<button>Submit</button>
</form>

<form>
<input type="password" name="password" required>
<button>Submit</button>
</form>

0
投票

'Required'是布尔属性。一旦存在,它就假定值为true。因此将其设置为“假”仍然使其表现得好像是真的。

以下是证明

<form>
<input type="password" name="password" required="false">
<button>Submit</button>
</form>
© www.soinside.com 2019 - 2024. All rights reserved.