2011-06-17 51 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