如何在“setCustomValidity(“...");"之后清除、删除或重置 HTML5 表单验证状态? [英] How to clear, remove, or reset HTML5 form validation state after "setCustomValidity("...");"?
本文介绍了如何在“setCustomValidity(“...");"之后清除、删除或重置 HTML5 表单验证状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在setCustomValidity("...");
之后清除、删除或重置HTML5表单验证状态?
设置空字符串 setCustomValidity("");
,在 Firefox 和 Chrome 中关闭表单验证错误消息.我不想关闭表单验证错误消息.我想重置验证状态,以便可以检查下一个答案并保留显示的验证错误消息.如果验证状态没有被重置,那么即使是下一个正确的答案也会错误地显示验证错误消息.
不知何故,清晰"意味着关闭"?
<块引用>如果参数为空字符串,则清除自定义错误.
<小时>这是一个验证测试用例:
<html dir="ltr" lang="en"><头><meta charset="utf-8"/><title>验证测试用例</title>头部><身体><form id="testForm"><input type="text" id="answer" pattern="[A-Za-z]+" 需要自动对焦/><input type="submit" value="OK"/></表单><脚本>/*jslint 浏览器:true,vars:true,white:true,maxerr:50,缩进:4 */(功能 (){严格使用";无功形式=空;无功答案=空;var isCorrectAnswer = 函数(值){返回(值 ===a");};var closeValidation = 函数(元素){//如果显示,则关闭表单验证错误消息.element.blur();element.focus();};var validateForm = 函数(事件){event.preventDefault();event.stopPropagation();var isValidForm = event.target.checkValidity();如果(isValidForm){如果(isCorrectAnswer(answer.value)){表单.重置();关闭验证(答案);console.log("正确答案.");alert("正确答案.");}别的{console.log("错误答案.");answer.setCustomValidity("答案不正确.");answer.checkValidity();//answer.setCustomValidity("");}}};window.addEventListener("DOMContentLoaded", function (){form = document.getElementById("testForm");answer = document.getElementById("answer");form.addEventListener("submit", validateForm, false);}, 错误的);}());