2012-07-30 84 views
0

我正在使用彈出式窗體並在其中應用窗體。現在我想讓我的控件使用javascript進行驗證。但每當我試圖提交我的形式,它不驗證我所有的表單字段和簡單的提交頁面下方如何在cakephp中使用javascript驗證我的html表單控件?

我的js代碼給出:

function validateForm() 
{ 
    var regex = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i; 
    var uname = document.getElementById('user_name').value; 
    if(uname=="") 
    { 
     alert("You cannot leave the email field empty"); 
     return false; 
    } 
    else if(uname.search(regex) == -1) 
    { 
     alert("Invalid email address format"); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
    return true; 

} 

我的HTML代碼的div下面給出。我用DIV,因爲我的彈出是從只加載的div:

<div id="logincontent"> 
<div class="form-box-top"> 
    <div class="form-box-bottom"> 
    <?php echo $this->Form->create('User',array('controller' => 'users', 'action' => 'login', 'id'=>'login', 'name'=>'login','onsubmit'=>'return validateForm();'));?> 
     <div class="form-box-middle"> 
      <div class="login-form"> 
       <div class="re-title3"> 
        <a class="pass" onclick="forget();" href="#">forgot password</a> 
       </div> 
       <div class="input-row"> 
        <label>EMAIL</label>      
        <?php echo $this->Form->input('username', array('label' => '','class'=>'required','style'=>'margin: -5px 0px 0px 24px;','id'=>'user_name')); ?> 
       </div> 
       <div class="input-row"> 
        <label>PASSWORD</label> 
        <?php echo $this->Form->input('password', array('type'=>'password','class'=>'required','label' => '','style'=>'margin: -5px 0px 0px 24px;')); ?> 
       </div> 
      </div> 
      <div class="button_3"> 
       <?php echo $this->Form->submit('',array('label' => '','class'=>''));?> 
      </div> 
      <div class="button_3_1"> 
      <a style="background: url(<?php echo $this->webroot  ?>/images/registor-bt2.png) no-repeat left top; 
float: left;border: 0px;width: 236px;height: 47px;" onclick="register()"; href="#"></a> 
      </div> 
      <div class="cr"></div> 
     </div> 
    <?php echo $this->Form->end(); ?> 
    </div> 
</div> 

現在,每當我提出我的形式我想我的田地被js函數來驗證

我已經試過很多,但不知道它會帶來惡意結果或不可預知的結果。

任何建議將娛樂和感激..

Thanx提前....

+2

只是不要忘記,你還需要在後端進行PHP驗證。一些程序員忘記了JS驗證與PHP相比完全不重要。特別是當一個用戶停用JS時,所有地獄都會失控。 由於您不想創建冗餘,請嘗試讀取後端驗證規則,然後將其轉換爲視圖中的JS。有一些現有的插件和腳本試圖實現這一點。 – mark 2012-07-30 07:32:40

回答