你有使用:valid和:invalid来校验表单吗?
是的,我知道在前端开发中,:valid
和 :invalid
是CSS伪类选择器,用于根据表单元素的有效性状态来设置样式。它们与HTML5的表单验证API一起使用。
具体来说:
:valid
: 当表单元素的值符合其定义的验证规则(例如,required
、type="email"
、pattern
等)时,该伪类选择器将应用样式。:invalid
: 当表单元素的值不符合其定义的验证规则时,该伪类选择器将应用样式。
以下是一些使用示例:
<input type="email" required placeholder="Enter your email">
<input type="submit" value="Submit">
<style>
input:valid {
border: 2px solid green;
}
input:invalid {
border: 2px solid red;
}
</style>
在这个例子中:
- 如果用户输入了有效的电子邮件地址,电子邮件输入框的边框将变为绿色。
- 如果用户输入了无效的电子邮件地址或留空了必填字段,电子邮件输入框的边框将变为红色。
一些需要注意的点:
- 这些伪类选择器只在表单元素获得焦点后才会生效,或者在表单提交时生效。
- 你可以结合JavaScript使用
checkValidity()
方法来手动触发验证并更新样式。 - 一些浏览器可能会对
:invalid
样式有默认设置,你可能需要覆盖这些默认样式。 - 可以使用
setCustomValidity()
方法自定义错误信息,并通过:invalid
伪类选择器来显示自定义的错误提示。
总而言之,:valid
和 :invalid
是非常有用的CSS伪类选择器,可以帮助开发者轻松地实现表单验证的视觉反馈,提升用户体验。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了