gpt4 book ai didi

validation - CakePHP Model->invalidate 不显示错误

转载 作者:行者123 更新时间:2023-12-04 08:53:28 26 4
gpt4 key购买 nike

我目前正在对 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;
}

我调试了所有东西,如果值存在,它确实返回 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'));

我相信一个问题可能是我正在研究 CapitalModel,其中除了 CapitalModel 的某些字段之外,我还使用了其相关模型 CapitalCategorieModel 中的几个字段。这可能是没有将验证错误绑定(bind)到该字段的问题吗?如果是,我该如何解决?

最佳答案

好吧,诚然,我不知道为什么它没有显示给你。据我了解,它应该是做 cakephp '魔术'的事情。但是当我尝试验证并且 cakephp 没有神奇地显示错误时,我遇到过这样的事情。我通过使用 FormHelper 类的另一个函数解决了这个问题。

$this->Form->error( 'field' );

我再次完全承认这并不能直接回答您的问题,但这至少是处理正在发生的事情的一种蛋糕方式。哦,如果没有错误,上面的函数会返回 null,因此您可以将其放置在您希望消息出现的任何位置。

如果您想查看,这里是 API 中函数的蛋糕链接。
FormHelper API 2.4

关于validation - CakePHP Model->invalidate 不显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com