带有对象列表的 Grails 自定义验证



我已经对多部分文件进行了自定义验证。

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)
}
}
}}

但是我现在需要多个文件,我想更改自定义验证以获取列表并应用约束。

<input type="file" id="imageFile1" name="imageFile">
to
<input type="file" id="imageFile1" name="imageFiles">
<input type="file" id="imageFile2" name="imageFiles">

知道如何在自定义验证中使用集合吗???

如果输入命名相同,您将获得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)
}
}
}
}

相关内容

  • 没有找到相关文章

最新更新