HTML5+setCutomValidity()函数验证表单实例分享

HTML5+setCustomValidity()函数是HTML5表单验证的一种手段,可以用于实现自定义的表单验证。它可以在用户提交表单之前,动态地对表单中的输入进行检验,通过返回值控制表单是否能够提交。以下是使用HTML5+setCustomValidity()函数进行表单验证的完整攻略。

1. 创建一个基本表单

首先,在HTML中创建一个表单,并添加一些元素,示例如下:

<form>
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" required>
  <br>
  <label for="password">Password:</label>
  <input type="password" id="password" name="password" required>
  <br>
  <input type="submit">
</form>

这是一个简单的登录表单,其中包含了两个必填项:用户名和密码。当用户尝试提交表单时,如果这两个输入框中有任何一个为空,浏览器就会弹出一个默认的提示框,提醒用户填写必填信息。

2. 使用setCustomValidity()函数添加自定义提示

我们可以使用setCustomValidity()函数来添加自定义的提示信息。该函数需要传入一个字符串作为参数,用于指定自定义的提示信息。例如:

document.getElementById("username").setCustomValidity("用户名不能为空!");

这段代码将在用户名输入框中添加一个自定义的提示信息,即“用户名不能为空!”。如果用户未填写用户名,提交表单时这个提示信息就会显示出来。

3. 使用JavaScript进行表单验证

现在,我们可以通过JavaScript代码在用户提交表单时进行验证了。我们可以在表单元素的submit事件中添加一个事件监听器,监听表单提交事件,并在该事件中进行表单验证。例如:

document.querySelector('form').addEventListener('submit', function(event) {
  var usernameInput = document.getElementById('username');
  var passwordInput = document.getElementById('password');

  if (usernameInput.value.trim() === '') {
    usernameInput.setCustomValidity('用户名不能为空!');
    event.preventDefault();
  } else {
    usernameInput.setCustomValidity('');
  }

  if (passwordInput.value.trim() === '') {
    passwordInput.setCustomValidity('密码不能为空!');
    event.preventDefault();
  } else {
    passwordInput.setCustomValidity('');
  }
});

这段代码将在表单提交时对用户名和密码进行检验。如果任何一个输入框为空,将会设置一个自定义的提示信息并阻止表单提交。

在这个代码中,我们首先获取了用户名和密码输入框的引用。然后,我们对其进行了非空检验,如果任何一个输入框为空,我们就会使用setCustomValidity()函数添加一个自定义的提示信息,并调用event.preventDefault()方法阻止表单的提交。如果输入框不为空,我们就清除自定义的提示信息,允许表单提交。

4. 示例说明

以下是在表单中添加自定义提示信息的示例:

<form>
  <label for="email">E-mail:</label>
  <input type="email" id="email" name="email" required>
  <br>
  <input type="submit" value="Submit">
</form>

<script>
  document.getElementById('email').setCustomValidity('请填写有效的Email地址!');
</script>

在这个示例中,我们对Email输入框添加了一个自定义提示信息,提示用户填写有效的Email地址。

下面是在表单提交时进行自定义验证的示例:

<form>
  <label for="age">Age:</label>
  <input type="number" id="age" name="age" required>
  <br>
  <input type="submit" value="Submit">
</form>

<script>
  document.querySelector('form').addEventListener('submit', function(event) {
    var ageInput = document.getElementById('age');
    if (ageInput.value <= 0 || ageInput.value > 150) {
      ageInput.setCustomValidity('请填写有效的年龄!');
      event.preventDefault();
    } else {
      ageInput.setCustomValidity('');
    }
  });
</script>

在这个示例中,我们对年龄输入框进行了自定义验证,检验其是否在0~150之间。如果输入框中的值不在范围内,我们就会设置一个自定义的提示信息,并阻止表单的提交。

通过这两个示例,我们可以清楚地了解到HTML5+setCustomValidity()函数的应用方式,以及如何使用该函数进行表单验证。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTML5+setCutomValidity()函数验证表单实例分享 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 基于 Immutable.js 实现撤销重做功能的实例代码

    基于 Immutable.js 实现撤销重做功能,你需要按照以下步骤: 第一步:安装 Immutable.js 安装Immutable.js,可以通过npm或者yarn包管理工具进行安装,命令如下: #npm npm install immutable #yarn yarn add immutable 第二步:实现历史记录状态管理 实现撤销重做功能,需要用到…

    JavaScript 2023年6月11日
    00
  • 正则表达式详述 四

    以下是我对于“正则表达式详述 四”的完整攻略。 标题 正则表达式详述 四 正文 1. 前言 前三篇文章中,我们详细了解了正则表达式的基础知识以及常用语法规则。在本篇文章中,我们将进一步深入学习正则表达式的内容,包括元字符与文本字符的区分、捕获分组、非贪婪模式等内容。 2. 元字符与文本字符 在正则表达式中,匹配一个字符有两种方式:使用特定字符将其表示(即元字…

    JavaScript 2023年6月10日
    00
  • thinkphp3.x中display方法及show方法的用法实例

    下面我将为你详细讲解”thinkPHP3.x中display方法及show方法的用法实例”的完整攻略。 一、display方法的用法 在thinkPHP中,display方法可以用来显示模板文件,当你调用display方法时,系统默认会去找位于View目录下的相应视图文件进行模板渲染,这个方法主要有两个参数: display($templateFile=”…

    JavaScript 2023年5月19日
    00
  • JS 实现 ajax 异步浏览器兼容问题

    JS 实现 ajax 异步浏览器兼容问题 什么是 AJAX AJAX (Asynchronous JavaScript and XML) 是一种通过后台与服务器进行数据交换,而无需重新加载整个页面的技术,在 Web 开发中广泛应用。以下是 AJAX 的一些优点: 可以在不刷新页面的情况下更新页面内容 能够异步地获取数据,并把数据显示在页面上 能够使用服务器应…

    JavaScript 2023年6月11日
    00
  • Java设置httponly cookie的实现示例

    下面我会为你详细讲解“Java设置httponly cookie的实现示例”的完整攻略,并且提供两个示例说明。 概述 HTTPOnly是一种用来增强Cookie安全性的标志,其作用是防止跨站脚本攻击(XSS)窃取用户的Cookie。如果设置了HTTPOnly标志,那么JavaScript脚本将无法读取到Cookie。 在Java应用程序中,使用HTTPOnl…

    JavaScript 2023年6月11日
    00
  • 简介JavaScript中toTimeString()方法的使用

    下面是关于“简介JavaScript中toTimeString()方法的使用”的完整攻略: 1. toTimeString()方法是什么? toTimeString()是JavaScript中的一个Date对象方法,用于将日期对象中的时间部分(时、分、秒和毫秒)转换为字符串表示形式。 该方法返回的字符串格式为:HH:MM:SS GMT+TZ(时区偏移量),其…

    JavaScript 2023年6月10日
    00
  • JS按钮倒计时并跳转到新地址的实现代码

    下面详细讲解一下JS按钮倒计时并跳转到新地址的实现代码的完整攻略。这个功能可以用在活动页面,对按钮进行倒计时限制,避免用户频繁点击。首先,我们需要实现一个计时器,在设置好指定时间后,在指定时间到达时触发跳转链接。 实现步骤 首先,我们需要在HTML代码中创建按钮: html <button onclick=”countdown(10,’http://w…

    JavaScript 2023年6月11日
    00
  • 动态加载图片路径 保持JavaScript控件的相对独立性

    动态加载图片路径可以通过修改JavaScript控件中的DOM元素属性来实现。为了保持JavaScript控件的相对独立性,我们可以在JavaScript控件中将图片路径存储为一个变量,然后在需要加载图片时,动态修改DOM元素的属性。 具体实现步骤如下: 定义一个存储图片路径的变量imgPath: var imgPath = ‘path/to/image.j…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部