出现错误,
在属性路径“ experience”中给出的类型为“ integer”,“ NULL”的预期参数。
代码如下,
->add('experience', TextType::class, [
'constraints' => [
new NotBlank([
"message" => $this->translator->trans('Please enter experience.')
]),
new Length([
'max' => 2
]),
],
'required' => false
])
我提交空白表格(创建时间)时,显示“请输入经验”。
现在在编辑表单上,如果我输入了错误的值(更多数据,例如3434),则显示值不应超过2个字符
在编辑时发送空白数据时出现问题。 提交时有空白的经验(其必填字段为表格),它给出以下错误
在属性路径“ experience”中给出的类型为“ integer”,“ NULL”的预期参数。
我尝试了互联网上的其他选项,例如将“ empty_data”设置为null或“,但无法正常工作。”
答案 0 :(得分:3)
如果您接受设置值,则setter方法应允许null
值,具体形式如下:
public function setExperience(?int $experience): void
{
$this->experience = (int) $experience;
}
答案 1 :(得分:-1)
您应该填写必填字段,而不是接受的答案:
->add('experience', TextType::class, [
'constraints' => [
new NotBlank([
"message" => $this->translator->trans('Please enter experience.')
]),
new Length([
'max' => 2
]),
],
'required' => true, // modified
])
您的业务逻辑遵循以下原则:
public function setExperience(int $experience): void
{
$this->experience = $experience;
}
如果要求给定null
值(如模型的逻辑要求),则不应更改该值以允许'required' => false
,而应调整表单输入。
这样,将'required' => true
更改为''
。这样,必须必须输入(因此,不允许发送任何空值),并且在后端验证期间,仍然不允许该值from jinja2 import Environment, FileSystemLoader
file_loader = FileSystemLoader('.')
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=file_loader)
template = env.get_template('bgp_template.j2')
output = template.render(local_asn='1111', bgp_neighbor='192.168.1.1', remote_asn='2222')
print(output)
em>。
文档: 看一下required option,确保同时阅读它如何影响empty_data option。