当执行提交event时,通常会看到哪个必填字段未填写,然后首先弹出必填字段的第一个字段.

<div class="row">
 <form>
   <div class="col-md-6">
      <div class="detailsInput">
         <input type="text" class="form-control" id="firstName" name="firstname" required data-maxlength="20" placeholder="First Name" />
      </div>
   </div>
</div>
</div>
const form = document.querySelector('form');
const nameInput = document.querySelector('#firstName');

form.addEventListener('submit', function(event) {
  if (!nameInput.checkValidity()) {
  event.preventDefault(); // Prevent form submission
  nameInput.setCustomValidity('Please enter your name'); // Set custom error 
  message
 }
});

我目前正在触发错误,它反映了所有字段,但不是前required个字段.

编辑: 需要在默认事件浏览器行为中弹出时自定义错误消息.

推荐答案

您可以try 以下操作:

const input = document.querySelector('input[name="firstname"]');

input.addEventListener('invalid', function(event) {
  if (event.target.validity.valueMissing) {
    event.target.setCustomValidity('Please tell us your lovely name.');
  }
})

input.addEventListener('keyup', function(event) {
  event.target.setCustomValidity('');
})
<form>
  <label for="name">Name:</label>
  <input type="text" id="firstname" name="firstname" required>
  <button type="submit">Submit</button>
</form>

参考文献:https://angelika.me/2020/02/01/custom-error-messages-for-html5-form-validation/

Javascript相关问答推荐

我无法在NightWatch.js测试中获取完整的Chrome浏览器控制台日志(log)

我试图实现用户验证的reduxstore 和操作中出了什么问题?

useNavigation更改URL,但不呈现或显示组件

将2D数组转换为图形

MathJax可以导入本地HTML文档使用的JS文件吗?

我创建了一个创建对象的函数,我希望从该函数创建的对象具有唯一的键.我怎么能做到这一点?

如何在coCos2d-x中更正此错误

Next.js服务器端组件请求,如何发送我的cookie token?

连接到游戏的玩家不会在浏览器在线游戏中呈现

为什么JPG图像不能在VITE中导入以进行react ?

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

如何确保预订系统跨不同时区的日期时间处理一致?

使每个<;li>;元素的 colored颜色 与随机生成的 colored颜色 列表不同(不重复

OnClick更改Json数组JSX中的图像源

用于测试其方法和构造函数的导出/导入类

Cherrio JS返回父div的所有图像SRC

$GTE的mongoose 问题

限制数组中每个元素的长度,

在范围数组中查找公共(包含)范围

不允许在对象文本中注释掉的属性