2016-09-30 50 views
1

目前,我有一張表格,可以在完成編輯後編輯行並將其保存。我希望能夠添加驗證,例如,如果電子郵件單元格不包含電子郵件,則不會保存。我想要顯示一個對話框,顯示錯誤如果你點擊保存並且一個字段沒有被驗證。我怎樣才能做到這一點?在表中編輯行時添加驗證

以下是我需要:

Buyer ID - numbers only 
POC Name - text only 
POC Email - email only 
POC Phone - phone number only 

相對HTML/PHP:

<?php 
    foreach ($dbh->query($sql) as $rows){ 
    ?> 
    <tr> 
     <td class="mr_id" contenteditable="false"><?php echo intval ($rows['MR_ID'])?></td> 
     <td class="mr_name" contenteditable="false"><?php echo $rows['MR_Name']?></td> 
     <td class="buyer_id" contenteditable="false"><?php echo $rows['Buyer_ID']?></td> 
     <td class="poc_n" contenteditable="false"><?php echo $rows['MR_POC_N']?></td>  
     <td class="poc_e" contenteditable="false"><?php echo $rows['MR_POC_E']?></td> 
     <td class="poc_p" contenteditable="false"><?php echo $rows['MR_POC_P']?></td> 
     <td><button class="edit" name="edit">Edit</button> 
     <button class="delRow" name="delete" onclick="deleteRow(this)">Delete</button></td> 
    </tr> 

相對的Javascript:

$(document).ready(function() { 
    $('.edit').click(function() { 
     var $this = $(this); 
     var tds = $this.closest('tr').find('td').not('.mr_id').filter(function() { 
      return $(this).find('.edit').length === 0; 
     }); 
     if ($this.html() === 'Edit') { 
      $this.html('Save'); 
      tds.prop('contenteditable', true); 
     } else { 
      $this.html('Edit'); 
      tds.prop('contenteditable', false); 
     } 
    }); 
    }); 

回答

0

您需要將正則表達式添加到您的代碼,您還可以利用HTML <input>屬性以及如:

`<input type=email>` 
`<input type=tel>` 

你可以找到更多有關HERE

另一個選項/額外的檢查可以通過包括在你的輸入項目正則表達式的檢查來進行。這是一個GREAT WEBSITE用於計算您的RegEx檢查。

典型的Javascript正則表達式檢查:

function telephoneCheck(str) { 
    var isPhone = /^(1\s|1|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/.test(str); 
    alert(isPhone); 
} 
telephoneCheck("1 555 555 5555");