首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS3伪类:valid和:invalid实现表单校验

CSS3伪类:valid和:invalid实现表单校验

作者头像
Javanx
发布2019-09-04 15:30:23
9560
发布2019-09-04 15:30:23
举报
文章被收录于专栏:web秀web秀

知识要点

CSS3伪类:valid和:invalid实现表单校验
CSS3伪类:valid和:invalid实现表单校验

1、:valid 用于匹配输入值为合法的元素 2、:invalid 用于匹配输入值为非法的元素 3、required 属性规定必需在提交之前填写输入字段 4、pattern 属性规定用于验证输入字段的正则表达式

:valid/:invalid 选择器用于在表单元素中的值是合法/非法时设置指定样式。

注意: :valid/:invalid 选择器只作用于能指定区间值的元素,例如 input 元素中的 minmax 属性,及正确的 email 字段, 合法的数字字段等。

required 属性适用于以下 <input> 类型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。当然textarea也可以。

:valid、:invalid示例

<style>
input{
  display: block;
  padding: 0 20px;
  outline: none;
  border: 1px solid #ccc;
  width: 150px;
  height: 40px;
  transition: all 300ms;
}
// input内容合法,边框颜色是绿色
input:valid {
  border-color: green;
  box-shadow: inset 5px 0 0 green;
}
// input内容非法,边框颜色是红色
input:invalid {
  border-color: red;
  box-shadow: inset 5px 0 0 red;
}
</style>
<input type="text" placeholder="请输入你的手机" pattern="^1[3456789]\d{9}$" required>

预览地址:

CSS3伪类:valid和:invalid实现表单校验
CSS3伪类:valid和:invalid实现表单校验

required示例

...
<form>
  <input type="text"
      placeholder="请输入你的手机"
      pattern="^1[3456789]\d{9}$"
      required
  >
  <button type="submit">提交</button>
</form>

这时候点击提交,就好自动校验了,而且HTML5会直接添加Tips提示用户,请看下列示例(虽然样式不是很美观):

CSS3伪类:valid和:invalid实现表单校验
CSS3伪类:valid和:invalid实现表单校验

在线演示地址

See the Pen DcHup by Elton Mesquita (@eltonmesquita) on CodePen.1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识要点
  • :valid、:invalid示例
  • required示例
  • 在线演示地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档