# BeanVerify **Repository Path**: luecsc/BeanVerify ## Basic Information - **Project Name**: BeanVerify - **Description**: 体积非常小的一个基于注解的Bean的验证框架,但它非常灵活,你可以用内置验证方法,也可以自定义验证方式,但是你最好自定义,因为内置验证方法实在不多:)。 - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2015-07-01 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - 感谢我的同事-CSC,他提出了更好的方案,确实非常好,好的无法拒绝,所以我被逼要重构一个新版本. - 这个方案是什么呢: 1. 在注释中加入错误返回码。 2. 检查结果包装成为一个更完整的对象,包含返回码和说明(要将这个结果返回给他人,这样包装很有必要) 3. 使用之前要初始化,以及手动添加anno类型和检查类,方便理解,但实在很不雅观,好了,这次不需要了。 首先自定义一个新注释: ``` public @interface PersonName { public String name() default ""; public int errorCode() default 0;// 错误返回码,随便写不写都可以,自己要用就写 public String errorMsg() default "错误的名称";// 错误描述,同上 public String mapClazz() default "com.beanverify.test.verifyinterface.impl.VerifyPersonName";// 验证实现类,这个方法必须要有,名称保持一致即可,VerifyPersonName的实现也是自己定义的. }//为什么这有一条黑线,而且无论如何都消不掉↓↓ -.-! ``` 你可以定义类似这样一个bean:person ``` public class Person { @Null @PersonName(name="GoodName")//这个就是上面自定义的 private String name; @Number(maxSize=1) private String age; @Email private String mailAdress; @Ip(cantNull=false) private String myIp; @Date(cantNull=false,format="yyyyMMddHHmmss") private String today; @Null private Person person; ``` - 然后给它填充数据: ``` Person person = new Person(); person.setName("GoodName"); person.setAge("1"); person.setMyIp("127.0.0.1"); person.setMailAdress("34897@qq.com"); person.setToday("2013-05-06 14:00:00"); person.setPerson(null); ``` 开始做验证: ``` VerifyResult result = MyBeanChecker.doCheck(person); Assert.assertTrue(result.isSuccess());//判断结果 ``` 最后 - 我的qq:279315223,荒淫大家叫朋友。请不要害羞。 - 而如果你觉得这些代码很屎很bug,你实在看不下去,要亲自改一下,请立刻加我!!那反过来,如果你觉得还行,点个赞咯^.^