Jfinal的Validator是不是放在Model的行为上比较合适?

yousee_lee 发布于 2015/06/23 19:47
阅读 198
收藏 0

"所有 sql 与业务逻辑写在 Model 或 Service 中,不要写在 Controller 中,养成好习惯,有利于大型项目的开发与维护"

作者在官方demo里如是说..那么Validator也应该属于业务逻辑...所以是不是Validator是不是放在Model的行为上比较合适?

然后我就把@Validator放在了Model的函数上...神奇的是居然是可以的~~

其实我对Jfinal还有个问题

就是form method在哪里定义??

比如update这个函数我想只能用post访问..否则报404 redirect 之类..

以下是问题补充:

@yousee_lee:本人小白...对于Jfinal...对于java都是...请不吝赐教...谢谢 (2015/06/23 19:49)
@yousee_lee:@JFinal (2015/06/23 19:51)
@yousee_lee:好吧...其实是不行的...刚是没有保存Controller (2015/06/23 19:54)
@yousee_lee:form method 改成request method会不会比较专业点 (2015/06/23 20:00)
加载中
0
JFinal
JFinal

    JFinal 的 Validator 是用来验证用户的输入是否符合要求,是在控制层专用的,jfinal 2.0 在开发的时候的确考虑到为业务层引入 Validator,这个在后续的版本中会再权衡。

    JFinal 提倡在一个统一的地方对数据的正确性进行保证,然后后续的操作都假定数据是符合要求的,这样就能使代码更干净,写代码也更畅快,否则满世界是对参数正确性的检测,那代码必定凌乱不堪。当然哪里才是放Validator的地方这个没有定论,例如有些非常关键的业务就必须在业务层进行数据校验。

    类似的设计,JFinal 异常处理,也是统一在 ActionHander 之中,所以才能在其它地方去写更干净的代码

0
y
yousee_lee

引用来自“JFinal”的评论

    JFinal 的 Validator 是用来验证用户的输入是否符合要求,是在控制层专用的,jfinal 2.0 在开发的时候的确考虑到为业务层引入 Validator,这个在后续的版本中会再权衡。

    JFinal 提倡在一个统一的地方对数据的正确性进行保证,然后后续的操作都假定数据是符合要求的,这样就能使代码更干净,写代码也更畅快,否则满世界是对参数正确性的检测,那代码必定凌乱不堪。

    类似的设计,JFinal 异常处理,也是统一在 ActionHander 之中,所以才能在其它地方去写更干净的代码

这样不是更应该把Validator放在Model里吗?...因为验证大致可以分两种, 一种是"符合逻辑的"...一种是"符合系统的":最典型的就是username之类的唯一性验证..
返回顶部
顶部