html - HTML 输入模式验证
问题描述
<form class="user" action="code_user.php" method="POST">
<div class="form-group">
<label>Enter Full Name</label>
<input class="form-control" pattern="^[a-zA-Z]+(( )+[a-zA-z]+)*$" oninvalid="setCustomValidity('Please enter in alphabets only. ')" type="text" name="name" autocomplete="off" required />
</div>
<button type="submit" id="submit"name="signup_btn"class="btn btn-primary btn-user btn-block"> Sign Up </button>
</form>
在 HTML 输入验证中,我只设置了 alphebetic 的模式。在其中使用数字输入进行测试时,它显示
我必须再次刷新页面才能输入正确的格式,但它不会显示无效。这是正常的吗?这是我的代码:
<div class="form-group">
<label>Enter Full Name</label>
<input class="form-control" pattern="^[a-zA-Z]+(( )+[a-zA-z]+)*$" oninvalid="setCustomValidity('Please enter in alphabets only. ')" type="text" name="name" autocomplete="off" required />
</div>
解决方案
你没有清除你的setCustomValidity()
. 如果您设置了一个值,setCustomValidity()
则该字段无效。只需将此类属性添加到您的输入标签:
oninput="setCustomValidity('')"
在您的代码中修复:
<form class="user" action="code_user.php" method="POST">
<div class="form-group">
<label>Enter Full Name</label>
<input class="form-control" pattern="^[a-zA-Z]+(( )+[a-zA-z]+)*$" oninvalid="setCustomValidity('Please enter in alphabets only. ')" oninput="setCustomValidity('')" type="text" name="name" autocomplete="off" required />
</div>
<button type="submit" id="submit"name="signup_btn"class="btn btn-primary btn-user btn-block"> Sign Up </button>
</form>
推荐阅读
- c++ - QQuickPaintedItem 更新函数在使用它加载新的 QImage 时不会重绘
- sharepoint - Sharepoint spfx,onListViewUpdated() 异步
- python - cross_val_predict 未完成。没有错误信息
- bash - 如何在 OEL 中使用 shell 获取挂载点 Use%
- firebase - 在应用程序中,firebase 模拟器中的权限也被拒绝
- javascript - Firebase 函数 user().onCreate:传递参数
- excel - 查询有关 Excel 名称的允许字符
- php - 如何在 Views 文件夹中构建我的项目
- javascript - 使用 MacGap 下载/导出文件
- git - 如何在 2020 年的 Git for Windows 中永久使用“LF”行尾?