lin*_*ndy 8 validation cakephp
我目前正在beforeValidate()模型的回调中对表单进行一些额外的验证.
我有以下代码:
function beforeValidate(){
$i = 0;
foreach($this->data['CapitalCategory'] as $capital_category){
if(!empty($capital_category['value'])){
$this->invalidate('CapitalCategory.'.$i.'.points', 'error!');
return false;
}
$i++;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我调试了所有内容,如果值存在,它会返回false.但是,表单重新加载,并且点输入下方没有显示任何消息!此外,如果我调试validationErrors,该数组包含需要显示的错误.可能是什么问题呢?
感谢任何帮助!
编辑
这是我构建输入的方式:
echo $this->Form->input('CapitalCategory.'.$i.'.value', array('label' => $category['Category']['name'], 'type' => 'text'));
echo $this->Form->input('CapitalCategory.'.$i.'.points', array('label' => 'Puncte', 'type' => 'text'));
Run Code Online (Sandbox Code Playgroud)
我相信一个问题可能是我正在使用CapitalModel,其中除了CapitalModel的一些字段之外,我还使用了其相关模型CapitalCategorieModel中的几个字段.这可能是未将验证错误绑定到字段的问题吗?如果是,我该如何解决?
可能这是因为 CakePHP 不知道将错误消息放在哪里
当您调用时$this->invalidate ( $name );
$name必须与您创建的字段(输入)的名称匹配。
那么,您能告诉我您如何创建表单输入(字段)吗?
| 归档时间: |
|
| 查看次数: |
3709 次 |
| 最近记录: |