Php symfony2图像类型约束验证
我知道上传文件的首选方式是通过书中解释的条令,但我需要将图像数据保存在xml文件中,我也喜欢约束验证器。不需要为它们编写太多代码。不管怎样,我被图像约束所束缚,我不知道我做的每件事都是正确的 我的validator.yml如下所示Php symfony2图像类型约束验证,php,validation,symfony,Php,Validation,Symfony,我知道上传文件的首选方式是通过书中解释的条令,但我需要将图像数据保存在xml文件中,我也喜欢约束验证器。不需要为它们编写太多代码。不管怎样,我被图像约束所束缚,我不知道我做的每件事都是正确的 我的validator.yml如下所示 Frizer\AdminBundle\Entity\UploadedImage: properties: image: - Image: notFoundMessage: Image n
Frizer\AdminBundle\Entity\UploadedImage:
properties:
image:
- Image:
notFoundMessage: Image not uploaded
uploadErrorMessage: The image could not upload. Try again
uploadIniSizeErrorMessage: Image has to have more that 5M
mimeTypes: [image/jpeg, image/jpg, image/png]
mimeTypesMessage: Image has to be either jpg, jpeg or png format
minWidth: 500
minHeight: 500
minWidthMessage: Image has to be 500/500 px
minHeightMessage: Image has to be 500/500px
maxSize: 5M
maxSizeMessage: Image has to have more than 5M
validate()方法接受UploadeImage对象,该对象具有$image属性,该属性的setter方法具有File type属性。构造函数如下所示
$uploadedImage = new UploadedImage();
$validator = $this->get('validator');
$errors = $validator->validate($uploadedImage);
var_dump($errors);
如果我上传的图像大于500万美元,则错误为空。如果我不上传任何东西也一样。我在网上搜索了一篇关于如何在文件上传中使用约束的教程,但没有成功。有人能解释一下我做错了什么吗?从您是如何创建一个新的UploadeImage实体并尝试立即验证它来判断,我怀疑您没有正确处理表单数据 请看--它也概述了如何进行上载,但使用注释进行验证 您不必使用条令,因此可以忽略任何@ORM注释。在请求完成之前,您只需输出需要输出的任何内容 另外,我不确定它是如何粘贴的,但请检查validation.yml中的缩进级别(notFoundMessage、uploadErrorMessage等未正确缩进)
但书上是这么说的。创建一个映射对象,创建validator.yml并将该对象放入validate()方法中。就这样。我是否必须在UploadeImage对象中放入其他代码,如mimeType字段或上载的图像路径?目前,它只有$image属性和setter方法。此外,我还编辑了《意向书》。如果问题出在意图上,我想这是个错误。
Frizer\AdminBundle\Entity\UploadedImage:
properties:
image:
- Image:
notFoundMessage: Image not uploaded
...