jFinal表单上传文件时,文本域校验问题

yangjian1004 发布于 2014/10/11 15:34
阅读 1K+
收藏 2

@JFinal 你好,想跟你请教个问题:

如图:表单里有文件上传,后台保存方式上的注解无效@Before(ProductValidator.class),有解决办法吗?因为只有getFile();方法后才能获取表单的值,因此直接跳过验证了。

@Before(ProductValidator.class)
public void save() {
UploadFile uploadFile = getFile();
String realPic = null;
if (StringUtil.isNotEmpty(uploadFile)) {
String realPath = getRequest().getServletContext().getRealPath(CommonFilesUpload.uploadImagePath);
realPic = CommonFilesUpload
.uploadFile(uploadFile.getFile(), uploadFile.getFileName(), null, true, realPath);
}
Product product = getModel(Product.class);
product.set("realPic", realPic);
product.set("ts", new Date());
product.set("enabled", EmEnabled.YES.intValue());
product.save();
}

加载中
0
JFinal
JFinal
    在 ProductValidator.validate(...) 方法中的第一行代码处添加一行代码: getFile() 即可打完收工。另外,无论有没有添加这行代码 ProductValidator 都不会被跳过去,调试一下便知
yangjian1004
yangjian1004
回复 @JFinal : 嗯,介绍给好几个朋友,他们也开始尝试使用了
JFinal
JFinal
回复 @yangjian1004 : 多多支持 jfinal 发展啊,从介绍给有需要有同事、同学们用用
yangjian1004
yangjian1004
回复 @JFinal : 嗯,非常感谢这么详尽的回复,也很开心能给你做这么多交流~
JFinal
JFinal
回复 @yangjian1004 : 传统方式也一样要改很多地方,并且要改 xml配置文件,即便代码可以重构来改,但xml需要手工来改。而 jfinal 下利用查找替换改很方便,替换前先预览能保障改对。况且改完后再利用 svn或git同步对比查看一下改的地什么地方,也可以避免改错
yangjian1004
yangjian1004
回复 @JFinal : 嗯,我也很喜欢jFinal倡导的方式,只不过有个问题不好兼顾,也就是修改字段名称后需要改的地方比较多,因为在取值的时候是直接使用数据库字段,想只改一个地方
下一页
返回顶部
顶部