valang的小体会

最近的项目用到了valang,而且还是强制所有domain的验证都要用valang,简单业务逻辑也要...
所以为了吃饭,还是稍微看了下valang的源码,留下一些基本应用以备后用。

基本应用1: valang custom function

这个自定义function貌似很自由,其实很不爽。看我的例子。
友情提示:例子纯手写,没上IDE check

主要要写的是两个地方,一个是初始化用的构造函数,可以随spring的init一起init,也可配置lazy-inti稍后初始化,例如

public DaysValidateFucntion(Function[] args,int line,int colume){
super(......);
definedNumberOfArguments(Number);//看函数名就很明显了
}

protected Object doGetResult(Object target)
throws Exception{
//这里throw的errorCode 是你待会再spring里面的定义的
String days = (String)getArguments()[0].getResult(target);
String days2= (String)getArguments()[1].getResult(target);
// 接下来是你的业务

}


spring中的配置,你要定义成全局的话,可以配置functionDefinition

<bean class="org.springmodules.validation.valang.functions.FunctionDefinition"
p:name="validDay"
p:className="DaysValidateFucntion的位置"/>


然后你就可以在你的bean里面直接用了,当然你要觉得FunctionDefinition这个不爽,你可以用FunctionWrapper,这个类好像是0.91后才有的,反正我们现在用的是0.8,米有.......



<bean id="dayValidator" class="org.springmodules.validation.valang.ValangValidator">
<property name="valang"><value><![CDATA[
{elements:validDay(?,?) : errorCode}
]]<</value>
</property>
</bean>



基本应用2 :custom validator

这个主要继承valangValidator,这个感觉比function好用多了,也比较简单,error也比较好自己包装.....

到此就打坐收工.......
主要的不爽在于:

1.业务多了,那xml文件就很难维护了,而且一堆的自定义函数,和自已定义validator,还不好抽出公用的validator......

2.其实就是service上看的清爽了,其他没见有啥效果。

3.维护不便.....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值