php - CakePHP 元素错误处理问题

标签 php validation cakephp

我在引用用户 Controller 和 login() 和 register() 操作的元素中有我的登录和注册表单。例如,当我在模式或页面 Controller 操作中使用此元素时,当用户出现验证错误(即模型验证)时,它会重定向到登录/注册操作页面(而不是更新元素)。

我意识到我可以使用 Javascript/JQuery 验证,但是有什么方法可以让 CakePHP 的模型验证更新元素而不是在发生错误时重定向到原始操作的页面?

最佳答案

我过去用 this PersistentValidation component 解决了这个问题.您设置它的方式是将 PersistentValidation 组件包含在您的 UsersController 以及您计划包含登录/注册元素的任何其他 Controller 中。

您的登录/注册表格将提交给他们各自的 Controller 操作。如果验证失败,该操作将重定向回引用页面。例如:

if (!$validated) {
    $this->redirect($this->referer());
}

您重定向到的操作所调用的 View 将自动植入上一个请求的验证错误。

这在幕后起作用,方法是将验证错误存储在 session 变量中,并在重定向后检索这些错误,使它们可用于当前请求的 View /元素。您可以自己完成此操作,但该组件使用起来非常轻松。

关于php - CakePHP 元素错误处理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370208/

相关文章:

php - 如何四舍五入到下一个偶数?

ruby-on-rails - 如何在 update_attributes 期间以管理员身份跳过验证?

html - 重新启用字段后使用欧芹进行验证

php - 在不获取关联模型的情况下检索模型 - CakePHP

php - CakePHP fatal error : Call to a member function check() on a non-object?

PHP+AJAX 与 MySQL - 每 2 秒查询一次,在 TIME_WAIT 中太多

php - mysql查询不从where条件获取数据

php - Laravel 5 中 URL 中的主题标签

grails域类验证器+根据字段值设置唯一约束?

cakephp 自定义验证规则消息