Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在<;上使用Hibernate验证;s:文件>;在Struts2中标记?_Hibernate_Struts2 - Fatal编程技术网

如何在<;上使用Hibernate验证;s:文件>;在Struts2中标记?

如何在<;上使用Hibernate验证;s:文件>;在Struts2中标记?,hibernate,struts2,Hibernate,Struts2,我有一份输入表格,上面有: <s:form action="myaction" method="POST" enctype="multipart/form-data" > ... <s:file label="Picture" name="img" /> ... <s:submit value="Send" /> </s:form> ... ... 如果用户不插入图像(这是必填字段),我如何返回错

我有一份输入表格,上面有:

<s:form action="myaction" method="POST" enctype="multipart/form-data" >
   ...     
   <s:file label="Picture" name="img" /> 
   ...
   <s:submit value="Send" />
</s:form>

...     
...
如果用户不插入图像(这是必填字段),我如何返回错误?
我正在使用Hibernate验证(@NotEmpty、@NotNull、ecc..),但我不知道是否可以验证文件输入字段。

您可以使用Struts2
必需的验证程序验证文件对象的
null


另外,
@NotNull
接受任何类型,而不仅仅是字符串。

您到底想验证什么?实体中的变量为@NotNull或操作中的变量?@AleksandrM相应的实体属性为字符串类型(在数据库中存储图片的路径),但用户从JSP中的标记上载图片。。在操作中,我获取文件对象,将其存储在服务器目录中,然后将路径保存在实体中。因此,我只需要在操作中(对文件对象)进行验证。我知道可以使用相同的注释验证非实体属性(在操作中),但我不知道是否有验证文件类型的注释(NotNull或NotEmpty用于字符串,Max用于整数等)。我已经对其他字段使用了Hibernate验证,所以也不可能使用Struts 2验证(只允许一次验证)。顺便说一句,我在操作中尝试在文件映像定义上使用@NotNull,但它不起作用,它给了我NullPointerException,因为映像为null!我还尝试在imageFileName定义上使用@NotNull。没有任何更改!请参见此链接。您的语句“因此也不可能使用Struts 2验证”(只允许一次验证)“是错误的。您不能将两个拦截器都放在堆栈中吗?