0

我有一个关于最佳实践的问题。我注意到,对于表单验证,Symfony 允许我使用 Acme\Bundle\Resource\config\validation.yml 进行验证,如下所示:

Acme\Bundle\Entity\School
    properties:
       zipCode:
            - MinLength: 5

或者我也可以在类本身中使用断言。所以在 Acme\Bundle\Entity\School.php 中它看起来像这样:

...
class School
{
 ...
 /**
  * @Assert\MinLength(limit="5", message="Zipcode too short")
  */
 protected $zipCode;
 ...
}

哪一个是更好的实践?还是只是偏好?

4

2 回答 2

2

这完全取决于您,这就是他们提供许多不同方式的原因。

不要忘记单个捆绑包只能使用一种类型。

于 2013-06-05T20:25:57.877 回答
2

虽然 Jessica 认为这两种方法都是最佳实践是正确的,但我发现使用@Assert更方便,因为它将所有与实体相关的数据保存在实体中。

因为我不需要查找第二个文件(这是一项艰巨的任务!),所以当我以后需要更改或查阅该信息时会更容易。

不过,在 YML 的支持下,它比注释更清晰、更易于阅读。

于 2013-06-06T00:20:29.990 回答