我正在使用Symfony构建REST API。让我们说我有以下Doctrine实体:
class Car {
private $model;
private $make = 'Mercedes';
/** @Assert\NotBlank() **/
private $year;
}
当我尝试使用HTTP POST请求(REST,没有浏览器)创建新的Car
时,如果请求不包含$make
属性的任何值,则默认情况下Form::submit()
方法使我的实体中的此字段无效。由于我不希望它这样做,我将其clearMissing
参数设置为false。此工作正常,但现在我的@Assert
约束未被考虑(与clearmissing
true
时相反)。例如$year
属性如果null
没有触发任何错误,看起来好像没有执行验证
所以我想知道是否有办法:
我发现了一个两岁的issue on Github,它完全描述了我的问题,但问题应该得到解决。所以它不应该和我一样......
答案 0 :(得分:1)
1)对于YAML:
field:
options:
default: "your_value_here"
2)对于注释,只需添加到@ORM \ Column next:
options={default:"you_value_here"}
1)YAML
field:
nullable: true
2)注释
@ORM\Column(...., nullable=true)