2011-06-17 139 views
0

我正在創建相冊頁面,我想添加驗證專輯名稱。它不應該是空的。 點擊提交按鈕我打電話驗證功能,該功能拋出錯誤信息,但單擊確定按鈕後表單提交。表單正在提交時出現錯誤消息

我想,如果沒有錯誤信息被設置爲提交表單,否則要重定向到同一頁面

回答

1

的標準方法來完成這樣的事情是在表單標籤的的onsubmit atrribute運行驗證功能。

<form onsubmit="return validate();"> 
    <input type="text" name="album_name" id="album_name" /> 
    <input type="submit" /> 
</form> 

然後,你的Javascript函數在錯誤時應該返回false,或者在成功時返回true。事情是這樣的:

<script type="text/javascript"> 
function validate() 
{ 
    if($('#album_name').val() == '') { 
    alert('Empty field'); 
    return false; 
    } 

    return true; 
} 
</script> 
+0

如果用戶已禁用Javascript,會發生什麼情況? – Tim 2011-06-17 11:04:25

0

要做到這一點,你需要設置驗證變量模型中是這樣的:

# /app/models/album.php (or whatever you called your model) 

var $validate = array(
    'albumname' => array(
     'rule' => 'alphaNumeric', 
     'required' => true 
    ) 
); 

這將確保您的領域越來越被CakePHP的,如果驗證驗證不會通過,您將被重定向到表單而不保存任何內容。

閱讀食譜中關於驗證的更多信息:Data-Validation