我有两个带有setCustomValidity的输入。
在第一个输入中,setCustomValidity位置在左侧位置,换句话说,位于正确的位置,如下图所示:
但在另一个属性setCustomValidity工具提示出现在中间,如下图所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<form>
<label>Code:</label>
<input type="text" maxlength="3" required oninvalid="this.setCustomValidity(); "/>
<label>Description:</label>
<input type="text" maxlength="3" required oninvalid="this.setCustomValidity();" style="width: 500px;"/>
<button type="submit">Submit</button>
</form>
</body>
</html>
如何将工具提示放在左侧位置,就像在第一张图像中一样?
无论出于何种原因,我们的开发人员(或者更有可能是我们的设计师同事)都有根深蒂固的愿望来设计这些东西。但不幸的是我们不能,因为零浏览器提供针对这些气泡的样式钩子。 Chrome用于提供一系列供应商前缀伪元素(:: - webkit-validation-bubble- *),但它们已在Chrome 28中删除。
那么开发人员应该做些什么呢?好吧,虽然浏览器不允许您自定义其气泡,但约束验证规范允许您禁止浏览器的气泡UI并构建您自己的气泡。本文的其余部分将向您展示如何做到这一点。
但是,您可以删除它并使用其他内容。
见:How to remove validation-bubble-message in form validation
另一种解决方案,使用alert