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