2016-07-19 16 views
3

こんにちはfrndz..私は私のフォームの下でjqueryの検証を使用していた..それは正常に動作しているが、どのように正しい "EMAIL"形式を与えていることをdout持っている..i正規表現を使用していないと、私のHTMLページで..それは働いています.... ??????私はそれをどうやって変えたいのですか? HTML page..index.htmljqueryの検証はどのように機能していますか?

<!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'); 
    } 
    }); 
+0

デフォルトの検証設定で 'email:true'を指定したので動作しています。それは正規表現を使って値を比較します –

+0

電子メールのフォーマットが正規表現なしでどう一致するか... – Mohanish

+0

@Montyこれはプラグイン(js)自体によって処理されます。 –

答えて

0

希望この答えはあなたより多くの明快さを与えます。.. :)

私は答えを投稿していますコメントを追加できません:)

メールアドレスJqueryのEmail Methodを使用しているので、コード内の日付が機能しています。

メールメソッドの次の説明をご覧ください。 (あなたのコード内で使用されています)

メール方法: -

説明:要素が有効なメール

を必要とします。これは、内蔵のjqueryので電子メールの検証方法。

値が有効な電子メールアドレスであればtrueを返します。そして、テキスト入力で動作します。

カスタム電子メールパターンが必要な場合は、$ .validator.methodsプロパティを使用します。

jQuery.validator.methods: -

説明:オブジェクトバリに知られているすべての検証メソッドを保持しています。これは、デフォルトのメッセージを保持しながら、個々のメソッドをオーバーライドするためにアクセスできます。

例:

組み込みの電子メール検証規則のカスタム電子メールパターンを設定します。

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

詳細については、https://jqueryvalidation.org/email-methodを参照してください。

関連する問題