cakePHP:如何在控制器中手动设置错误验证到输入字段

meo*_*hia 9 validation cakephp cakephp-1.3

我想在控制器示例中手动设置错误验证输入字段:

  if ($remainTime < 30) {
      ..... set error validation in here (error: limitTime ), ( error is not in model )
  }
Run Code Online (Sandbox Code Playgroud)

其他问题:我想问一下:bindModel(在这种情况下,我在行为中使用bindModel)会导致与其他模型的关系丢失但是bindModel会导致$ var validate丢失吗?

sha*_*mil 15

如果在模型中定义了$ validate,则bindModel不会导致$ var validate的closs.

至于你的主要问题; 你可以设置/取消设置/更新模型的验证错误.例如

($remainTime < 30) {
   $this->Model->validationErrors['limitTime'] = "time is less than 30";
}
Run Code Online (Sandbox Code Playgroud)


drm*_*nja 15

这可以使用invalidate方法来实现,该方法将字段标记为有错误: -

$this->Model->invalidate('field_name', 'error message');
Run Code Online (Sandbox Code Playgroud)