【发布时间】:2019-11-12 22:41:55
【问题描述】:
我的代码生成器(相关部分)中有以下代码:
use Symfony\Component\Validator\Constraints\Image;
..................................................
$builder->add('image', FileType::class, [
'required' => false,
'constraints' => [
new Image([
'maxSize' => '2048k'
])
]
])
表单创建正确,到目前为止一切正常。现在,在提交时,在控制器中我有以下代码:
$form = $this->createForm(OrderReviewType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
dd($request->files);
}
例如,当我上传一个 html 文件时,我希望验证失败(约束是图像)。而是验证表单。转储如下:
FileController.php on line 43:
FileBag^ {#15 ▼
#parameters: array:1 [▼
"order_review" => array:1 [▼
"image" => UploadedFile^ {#16 ▼
-test: false
-originalName: "test.html"
-mimeType: "text/html"
-error: 0
path: "/tmp"
filename: "phpOPra8g"
basename: "phpOPra8g"
pathname: "/tmp/phpOPra8g"
extension: ""
realPath: "/tmp/phpOPra8g"
aTime: 2019-07-02 12:51:24
mTime: 2019-07-02 12:51:24
cTime: 2019-07-02 12:51:24
inode: 17041021
size: 678
perms: 0100600
owner: 1000
group: 1000
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
}
]
]
}
知道为什么约束不起作用吗?没有错误发生。
【问题讨论】:
-
想解释一下-1吗?
标签: php forms symfony validation symfony4