dorado7ajax,AjaxValidator(SEUG)

当某一个编辑框的数据校验逻辑是Java端的一个已有方法,并且你不想将这个校验逻辑翻译为JS代码在客户端执行的时候,你可以为对应的PropertyDef增加一个AjaxValidator对象。

例如你的Java业务逻辑层已经实现了一个账号的数据校验逻辑:

你可以将这个方法暴露给客户端,便于远程Ajax的调用。

例如:在确保当前类被注册到Spring中的前提下,我们将当前类的声明中添加一个dorado的annotation声明@Expose:

把这个标记添加到Java类的声明中是表示,自动将这个类的所有方法都暴露给Dorado的Ajax的客户端。

注意

基于安全考虑如果直接在一个承载BO逻辑的Java类上定义@Expose是不太严谨的,它会导致一些不该暴露的方法也暴露了,更安全的做法请参考: Ajax服务的定义

如果这个类注册到Spring工厂中的bean的id为validators,则根据dorado中Ajax服务定义的规范,那么这个checkAccountName的Ajax服务定位表达式为:validators#checkAccountName

接下来我们只要将AjaxValidator的service值修改为上面计算出来的Ajax服务定位表达式就可以。

a80beeece03decfcedaeaafae65a6370.png

当你在编辑框中输出数据时,数据校验器会自动呼叫Validators.java中的checkAccountName方法,并将当前编辑框中的输入值作为方法参数传人。

如果方法抛出异常或者返回一个非空的数据时,Ajax数据校验器都会认为是数据校验失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值