gpt4 book ai didi

symfony1 - Doctrine、Symfony 中的模型层验证

转载 作者:行者123 更新时间:2023-12-01 14:36:14 25 4
gpt4 key购买 nike

我有一个 schema.yml,其中包含类似于以下内容的内容:

Character:
tableName: characters
actAs: { Timestampable: ~ }
columns:
id: { type: integer(4), primary: true, autoincrement: true }
name: { type: string(255), notnull: true, notblank: true, minlength: 3 }

我将列名的 minlength 定义为 3。我创建了一个单元测试来测试 minlength 验证,结果发现验证不起作用。

$character = new Character();
$character->set('name', 'Dw');
$t->ok(! $character->isValid()); # This test failed

有人可以告诉我这里可能出现什么问题吗?

谢谢,安德烈

最佳答案

我找到了。

Doctrine 的验证默认关闭,因此您必须使用以下代码将其打开:

$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine::ATTR_VALIDATE, Doctrine::VALIDATE_ALL);

在 Symfony 中,我将以下代码添加到/config/ProjectConfiguration.class.php

  public function configureDoctrine(Doctrine_Manager $manager) 
{
$manager->setAttribute(Doctrine::ATTR_VALIDATE, Doctrine::VALIDATE_ALL);
}

关于symfony1 - Doctrine、Symfony 中的模型层验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476293/

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