cakephp学习之数据校验
我 们 已 经 了解 cakephp 框架可以 对 数据 进 行校 验 ,只要我 们 在 对应 的 model 定 义 $validate 即可。可是在控制器中如何来控制数据的校 验 呢? 简 单总结 如下:
1. 校验之前要先 set 数据,只要此 Model 之前被 $user 引入过即可。
$this->Model->set($this->data);
if($this-> Model ->validates()) {
………………….
} else{
………………….
}
model 的 validates 方法 对 数据 进 行校 验 ,如果校 验 成功 则 返回 true ,否 则 返回 false.同时将出现的错误信息保存在 validationErrors变量中,可以通过判断validationErrors变量的值是否为空来确定字段信息是否校验 通过。
2. Validates 方法会调用 invalidFields 方法,它会生成 model 的 validationErrors 属性。 invalidFields 方法还会将数据作为结果返回 .
$errors = $this->ModelName->invalidFields(); // 包括了 validationErrors 数 组
$this->set('errors', $errors);
3. $this->KariMember->save($this->data,false );
一般在 save 数据 时 ,框架默 认 会 调 用 $validate 来校 验 数据信息,此 时设 置 false 参数必要 时 来阻止再次 调 用 Model 中的 validate 校 验 信息。
暂时 就 这 些以后有了新的 发现 再做 补 充 !
近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。