首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用户开始键入时最初验证表单

在用户开始键入时最初验证表单
EN

Stack Overflow用户
提问于 2017-07-26 14:38:02
回答 2查看 712关注 0票数 1

我正在使用这个jQuery plugin进行表单验证。使用下面发布的当前代码,验证仅在元素第一次发生焦点丢失/模糊事件后开始。

然而,我希望验证是在用户开始键入时执行的。

代码语言:javascript
复制
$(document).ready(function(){
  $.validate({"form" : "#testForm"});
});
代码语言:javascript
复制
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/theme-default.min.css"
    rel="stylesheet" type="text/css" />
</head>
<body>
<form id="testForm">
<p>
Email
<input name="email" data-validation="email">
</p>
<p>
Username
<input name="user" data-validation="length alphanumeric" 
 data-validation-length="3-12" 
 data-validation-error-msg="User name has to be an alphanumeric value (3-12 chars)">
</p>
</form>
</body>
</html>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-26 14:45:16

当用户开始键入时,您需要keyup来触发验证:

代码语言:javascript
复制
$('input').on('keyup', function() {
  $(this).validate();
});

$(document).ready(function() {
  $.validate({
    "form": "#testForm"
  });
});
代码语言:javascript
复制
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
  <link href="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/theme-default.min.css" rel="stylesheet" type="text/css" />
</head>

<body>
  <form id="testForm">
    <p>
      Email
      <input name="email" data-validation="email">
    </p>
    <p>
      Username
      <input name="user" data-validation="length alphanumeric" data-validation-length="3-12" data-validation-error-msg="User name has to be an alphanumeric value (3-12 chars)">
    </p>
  </form>
</body>

</html>

票数 2
EN

Stack Overflow用户

发布于 2017-07-26 14:50:35

脚本:-使用validateOnEvent

代码语言:javascript
复制
$(document).ready(function(){
  $.validate({"form" : "#testForm","validateOnEvent":true});
});

表格:-

代码语言:javascript
复制
<form id="testForm">
<p>
Email
<input name="email" data-validation="email" data-validation-event="keypress"> // data-validation-event is used for event base elements
</p>
<p>
Username
<input name="user" data-validation="length alphanumeric" 
 data-validation-length="3-12" 
 data-validation-error-msg="User name has to be an alphanumeric value (3-12 chars)" data-validation-event="keypress">
</p>
</form>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45319240

复制
相关文章

相似问题

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