我已经为MultipartFile进行了自定义验证。
class ImageCommand implements Validateable {
MultipartFile imageFile
static constraints = {
imageFile validator: { val, obj ->
if ( val == null ) {
return false
}
if ( val.empty ) {
return false
}
['jpeg', 'jpg', 'png'].any { extension ->
val.originalFilename?.toLowerCase()?.endsWith(extension)
}
}
}}
但是我现在需要多个文件,我想更改自定义验证以获取List并应用约束。
<input type="file" id="imageFile1" name="imageFile">
to
<input type="file" id="imageFile1" name="imageFiles">
<input type="file" id="imageFile2" name="imageFiles">
知道如何在自定义验证中使用集合吗?
答案 0 :(得分:1)
如果输入名称相同,您将获得List<MultipartFile> imageFiles
。
因此,您必须调整验证器以使用列表:
static constraints = {
imageFiles validator: { val, obj ->
val && val.every { imgFile ->
if ( imgFile == null ) {
return false
}
if ( imgFile.empty ) {
return false
}
['jpeg', 'jpg', 'png'].any { extension ->
imgFile.originalFilename?.toLowerCase()?.endsWith(extension)
}
}
}
}