gpt4 book ai didi

php - CakePHP 3 - 如何自动显示多个新实体的表单错误?

转载 作者:可可西里 更新时间:2023-11-01 01:15:39 27 4
gpt4 key购买 nike

我正在尝试利用任何自动处理验证并显示使用多个实体的表单的错误。

用户可以通过表单 UI 动态创建多个新实体。数据通过 newEntities() 编码:

$this->MyModel->newEntities($data);

我遇到的问题的第一部分是,为了检查任何实体的验证是否失败,我必须通过检查每个实体来手动完成:

$errors = false;
foreach ($entities as $entity) {
if ($entity->errors()) {
$errors = true;
break;
}
}
if (!$errors) {
// Save...

Cake 是否提供开箱即用的功能,让您可以检查 newEntities() 是否在其任何实体上验证失败?如果没有,那就没关系......

主要问题是我如何从各个实体中获取错误,然后在我的表单中内嵌显示在相关输入旁边。

<?= $this->Form->create(); ?>

我可以将什么传递给 create() 以将其链接到实体?目前似乎没有任何方法可以让它知道表单提交后会发生什么,因此不会显示错误。

我的表单输入是使用标准数组表示法创建的,其中 $i 来自构建来自所有实体的表单输入的循环。

$this->Form->hidden("MyModel.$i.field");

最佳答案

只需将实体数组传递给您的表单

$this->Form->create($entities);

您也不必在输入名称中指定型号名称。简单

$this->Form->hidden("$i.field");

不是

$this->Form->hidden("MyModel.$i.field");

关于php - CakePHP 3 - 如何自动显示多个新实体的表单错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480832/

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