jquery - jquery 验证是如何工作的?

标签 jquery html

你好 frndz..我在我的表单中使用了下面的 jquery 验证..它工作正常但我有一个问题是它如何提供正确的“EMAIL”格式..我没有使用任何正则表达式并且没有在我的 HTML 页面上定义了它的模式..它是如何工作的....???????如果我想改变它,我怎么会那样做..???? HTML 页面..index.html

<!doctype html>
<html lang="en" dir="ltr">
<head>
<title>Table</title>
<meta charset="utf-8">
<meta name="viewport" content="width=1000, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Oxygen:400,700">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet" href="design.css"> 
<script charset="utf-8" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script charset="utf-8" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
<script charset="utf-8" src="//cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
<script charset="utf-8" src="webapp.js"></script>

  </head>
  <body>

   <div id="page_container">

  <h1>Details of Employees</h1>

  <button type="button" class="button" id="add_company">Add Employees</button>

  <table class="datatable" id="table_companies">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Lastname</th>
        <th>Email</th>
        <th>Username</th>
        <th>Password</th>
        <th>Mobile No</th>
        <th>Website</th>
        <th>Functions</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
  </table>

</div>

<div class="lightbox_bg"></div>

<div class="lightbox_container">
  <div class="lightbox_close"></div>
  <div class="lightbox_content">

    <h2>Add Employees</h2>
    <form class="form add" id="form_company" data-id="" novalidate>

      <div class="input_container">
        <label for="Name">Name: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text" class="text" name="Name" id="Name" pattern="^[a-zA-Z]+$" value="" required>
        </div>
      </div>
      <div class="input_container">
        <label for="Lastname">Lastname: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text" class="text" name="Lastname" id="Lastname" pattern="^[a-zA-Z]+$" value="" required>
        </div>
      </div>
      <div class="input_container">
        <label for="Email">Email: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text" class="text" name="Email" id="Email"  value="" required>
        </div>
      </div>
      <div class="input_container">
        <label for="Username">Username: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text"  class="text" name="Username" id="Username" value="" required>
        </div>
      </div>
      <div class="input_container">
        <label for="Password">Password: <span class="required">*</span></label>
        <div class="field_container">
          <input type="password" class="text" name="Password" id="Password" value="" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" placeholder="eg. X8df90EO" required>
        </div>
      </div>
      <div class="input_container">
        <label for="Mobile">Mobile: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text"  class="text" name="Mobile" id="Mobile"  maxlength="10" pattern="[7-9]{1}[0-9]{9}" placeholder="Only 10 digit Mobile no"required>
        </div>
      </div>
      <div class="input_container">
        <label for="Website">Website: <span class="required">*</span></label>
        <div class="field_container">
          <input type="text" class="text" name="Website" id="Website" value="" placeholder="https://www.domain.com" required>
        </div>
      </div>
      <div class="button_container">
        <button type="submit">Add Employees</button>
      </div>
    </form>

  </div>
</div>

<div id="message_container">
  <div id="message" class="success">
    <p>This is a success message.</p>
  </div>
</div>

<div id="loading_container">
  <div id="loading_container2">
    <div id="loading_container3">
      <div id="loading_container4">
        Loading, please wait...
      </div>
    </div>
  </div>
  </div>

  </body>
  </html>

webapp.js

    // On page load: form validation

   jQuery.validator.setDefaults({
   success: 'valid',
   rules: {

  Email: {
    required: true,
    email:true
  }

},
errorPlacement: function(error, element){
  error.insertBefore(element);
},
highlight: function(element){
  $(element).parent('.field_container').removeClass('valid').addClass('error');
},
unhighlight: function(element){
  $(element).parent('.field_container').addClass('valid').removeClass('error');
   }
   });

最佳答案

希望这个答案能让您更清楚..:)

我正在发布一个答案,因为我无法添加评论..:)

您的代码中的电子邮件验证工作正常,因为您使用了 Jquery 的电子邮件方法。

请找到以下电子邮件方法的说明。

电子邮件方法(已在您的代码中使用):-

描述:使元素需要一个有效的电子邮件

这是 jquery 中内置的电子邮件验证方法。

如果该值是一个有效的电子邮件地址,它将返回 true。并适用于文本输入。

如果您需要自定义电子邮件模式,请使用 $.validator.methods 属性。

jQuery.validator.methods:-

描述:包含验证器已知的所有验证方法的对象。可以访问它以覆盖各个方法,同时保留默认消息。

例子:

为内置电子邮件验证规则设置自定义电子邮件模式。

 $.validator.methods.email = function( value, element ) {
      return this.optional( element ) || /[a-z]+@[a-z]+\.[a-z]+/.test( value );
    }

欲了解更多信息,请访问 - https://jqueryvalidation.org/email-method .

关于jquery - jquery 验证是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38453119/

相关文章:

javascript - 悬停动画失败

jquery - 为什么这个切换器功能在 Jquery 1.8.3 中不起作用(但在 1.8.2 中起作用)

javascript - 用按钮显示隐藏元素

html - 默认情况下 Bootstrap 辅助导航栏不折叠

jquery - 奇怪的行为 - jQuery .html() 导致 IE8 中 <pre> 元素中的换行符丢失

javascript - JSON的排序逻辑

jquery - 已将 JSON 数据发送至 DJANGO。现在我无法取回它

javascript - 使用这个 jQuery 动画菜单悬停超链接?

javascript - 在重定向到另一个页面之前播放视频

python - 如何以格式化文本从 html 文件复制到 Python 中的剪贴板?