OVAL 场景验证

本文探讨了在使用OVAL框架时遇到的场景验证问题,例如登录和注册时不同字段的验证需求。作者提出了利用场景验证的概念,类似于Yii框架中的验证规则,通过定义不同的场景来决定验证哪些字段,避免创建多个DTO。文中分享了自定义Validator的实现方案,包括在Model上的注解使用,以及在Action中如何应用这个Validator进行场景敏感的字段验证。
摘要由CSDN通过智能技术生成

初学OVAL遇到这种情况:

一个User的model,当你登录的时候,你只需要验证用户名和密码字段。当你注册用户的时候你需要验证用户名,密码,邮箱等等。

出现这种情况的时候,不知道该怎么办,也问过一些用过OVAL框架的人,他们说写两个DTO分别来验证。

经过几天的思索,我想到了场景验证,这也是我坐PHP时候用Yii框架时,Yii框架提供的验证规则。

我觉得挺适合这个场景的。也就是说把登录作为一个场景,把注册作为另一个场景,OVAL验证的时候根据场景的不同来验证不同的字段,这样就不需要创建多个DTO。

这里就简单说说我的实现方案(也许OVAL提供了这种问题的解决方案),直接上代码了:


场景验证的注解:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ValidateScene {
    String[] scene();
}


在Model上使用:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值