Html 为什么';输入最小长度检查工作初始值?

Html 为什么';输入最小长度检查工作初始值?,html,Html,考虑以下形式: 提交 并非所有浏览器都支持minlength属性。您可以改用模式属性。还需要required属性,否则将从验证中排除具有空值的输入字段 试试这个: 提交 这是设计的。minlength属性仅在用户编辑字段后验证该字段。如果字段的值没有更改,即使该值不满足约束,它也不会验证该字段。从(我的)重点: 约束验证:如果元素具有允许的最小值长度,其脏值标志为true,则其值上次由用户编辑更改(与脚本更改相反),其值不是空字符串,并且元素的API值的JavaScript字符串长度小于

考虑以下形式:


提交

并非所有浏览器都支持
minlength
属性。您可以改用
模式
属性。还需要
required
属性,否则将从验证中排除具有空值的输入字段

试试这个:


提交

这是设计的。
minlength
属性仅在用户编辑字段后验证该字段。如果字段的值没有更改,即使该值不满足约束,它也不会验证该字段。从(我的)重点:

约束验证:如果元素具有允许的最小值长度,其脏值标志为true,则其值上次由用户编辑更改(与脚本更改相反),其值不是空字符串,并且元素的API值的JavaScript字符串长度小于元素允许的最小值长度,那么该元素就会受到太短的影响


如果无论用户是否编辑了字段,都需要验证该值,请参见Racil Hilan的回答(尽管他们关于
minlength
属性在任何地方都不受支持的说法并不意味着什么,而且基本上是不相关的——如图所示,这显然是出于设计;如果有任何迹象表明确实支持该属性的浏览器完全支持它)。

您可以使用placeholder=“1234”而不是value=“1234”,并且不要忘记将“必需的””放在输入字段中。因此它在


提交

你的意思是我现在不应该使用minlength属性吗?这取决于你想支持哪些浏览器。如果你想支持尽可能多的浏览器,那么你就不应该使用
minlength
属性。看什么。事实上,现在我已经考虑过了……我想知道为什么模式验证会将默认值带入Account而minlength不支持。从表面上看,这似乎是不一致的,但我相信这一设计决策背后一定有原因。
minlength
在2020年仍然不受支持?!即使是在Chrome这样的主流浏览器中?!我对此感到困惑this@oldboy是什么让你认为Chrome不支持它?Chrome支持它ng很久以前,甚至在提出这个问题之前。现在所有主要的浏览器都支持它(IE除外)具有讽刺意味的是,你怎么说我的答案是不相关的,而你实际上也是这样做的。不相关在这里是相对的。你看,如果SO的目标只是解释,那么你是对的,我的答案的前半部分是不相关的。如果SO的目标是提供一个有效的解决方案,那么我的答案是相关的,而你的答案是不相关的:P。事实是,goal of SO is tware,explain and supply a solution.这正是我们两人所做的。你解释了,然后引用了我的答案作为解决方案,而我先提供了一个解决方案,然后引用了你的答案。没关系,没有冒犯:)@Racil Hilan:嗯,主要是那一句话,我认为你剩下的答案没问题。正如我所说,minlength在支持它的地方都能正常工作,所以支持它的地方的数量无关紧要。但我同意,SO的目标是两者兼而有之。我认为这只是我们认为相关的解释的一个问题。也许我们对此有不同的看法。但这很公平!