首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于验证,可以在键按事件上使用模式属性吗?

对于验证,可以在键按事件上使用模式属性吗?
EN

Stack Overflow用户
提问于 2016-11-20 09:18:39
回答 1查看 2.2K关注 0票数 2

这是我的代码:科德芬

如果没有任何脚本,验证错误消息将显示在表单提交上。

代码语言:javascript
复制
<form>
  <input type="text" name="text1" placeholder="min-8, max-16, a-z, A-Z" pattern="^[a-zA-Z]{8,16}$" required>
  <input type="submit">
</form>

我们能在提交表单前用小脚本键上显示验证错误消息.

所以我试过了,但没有用

HTML

代码语言:javascript
复制
<form> 
  <input type="text" name="text2" class="numberValid" placeholder="min-4, max-4, 0-9" pattern="^[0-9]{4}$" required>
  <input type="submit">
</form>

剧本

代码语言:javascript
复制
$('.numberValid').on('keypress', function () {
    this.setCustomValidity('');
 });

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-20 10:26:27

您可以测试每个keyup事件的输入值(在字符被添加到输入之后触发,keypress在.之前触发)。

或者,正如注释中指出的那样,您可以使用在更改输入值时触发的更合适的input事件。

代码语言:javascript
复制
$('document').ready(function() {
    $('.numberValid').on('input', function() {
      re = new RegExp(this.pattern);
      str = $(this).val();
      $('label').toggle(!re.test(str));
    });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
  <input type="text" name="text2" class="numberValid" placeholder="min-4, max-4, 0-9" pattern="^[0-9]{4}$" required>
  <label for="text2">Please enter 4 digits</label>
  <br/>
  <input type="submit">
</form>

要仅在第一个按键上显示错误,只需在加载DOM时隐藏标签:

代码语言:javascript
复制
$('document').ready(function() {
  $('label').hide();
  $('.numberValid').on('input', function() {
    re = new RegExp(this.pattern);
    str = $(this).val();
    $('label').toggle(!re.test(str));
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
  <input type="text" name="text2" class="numberValid" placeholder="min-4, max-4, 0-9" pattern="^[0-9]{4}$" required>
  <label for="text2">Please enter 4 digits</label>
  <br/>
  <input type="submit">
</form>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40702418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档