Symfony:4应为“integer”类型的参数,在属性路径处给定“NULL”
低于错误 应为integer类型的参数,在属性路径经验处给定NULL 代码如下:Symfony:4应为“integer”类型的参数,在属性路径处给定“NULL”,symfony,symfony4,Symfony,Symfony4,低于错误 应为integer类型的参数,在属性路径经验处给定NULL 代码如下: ->add('experience', TextType::class, [ 'constraints' => [ new NotBlank([ "message" => $this->translator->trans('Please enter experience.') ]), new Length(
->add('experience', TextType::class, [
'constraints' => [
new NotBlank([
"message" => $this->translator->trans('Please enter experience.')
]),
new Length([
'max' => 2
]),
],
'required' => false
])
当我提交空白表格创建时间,它显示我请输入经验
现在在编辑表单上,若我插入了错误的值,那个么更多的数据,比如3434,它显示的值应该不超过2个字符
当我在编辑时发送空白数据时出现问题。
以表格形式提交其必填字段时,会出现以下错误
应为integer类型的参数,在属性路径经验处给定NULL
我尝试过internet上的不同选项,如将空数据设置为null或,但它不起作用。如果您接受null值,则setter方法应允许null值,具体形式如下:
public function setExperience(?int $experience): void
{
$this->experience = (int) $experience;
}
为了达到超精确的效果,并且如果您想要有空值,您应该避免将映射添加到整数。去掉上面函数体中的int。如果你想精确,int同时接受int和null。当然,这就是为什么我说的是主体的定义,而不是声明——也就是:$this->experience=int$experience;因为如果您将其保持为您所写的状态,则将NULL值作为默认int值发送到数据库。也可以通过在公共函数setExperience?int$experience:void中的类型转换之前添加问号来解决此问题