jfinal的validator怎么做到验证到有一个字段错误就退出验证?

Fraud 发布于 2014/09/18 16:22
阅读 1K+
收藏 1

@JFinal 你好,想跟你请教个问题:

JFINAL是否有这样一个功能,例如:在页面有用户名框和密码框,validator中验证了用户名不能为空,密码不能为空两个非空校验,默认当出现错误的时候,两个错误消息都会给出处理并可以在前端显示错误提示。现在想这样做,用户名框和密码框都有错误的时候,只提示用户名框而不提示密码框的错误,请问一下有没有一个配置可以让这个validator发现到有一个错误的时候就退出下面所有的校验,直接进行错误处理?


加载中
2
如梦技术
如梦技术
作者之前有回复过一个类似的,里面有个短路校验的设置下就好,具体翻下源码!
JFinal
JFinal
回复 @孤单时会想你 : 正是这个 setShortCircuit(true)
Fraud
Fraud
回复 @孤单时会想你 : 谢谢,就是想要这个
孤单时会想你
孤单时会想你
com.jfinal.validate.Validator.setShortCircuit(true);
0
Fraud
Fraud
validateRequiredString("oldpassword", "oldpasswordMsg", "请输入当前登录密码!");
validateRequiredString("password", "passwordMsg", "请输入新登录密码!");

validateRequiredString("repassword", "repasswordMsg", "请再次输入确认密码!");

不明白这之间怎么return;

酷拉皮卡丘
酷拉皮卡丘
String value = controller.getPara(field); if (value == null || "".equals(value.trim())){ addError(errorKey, errorMessage); return ; } 代码是validateRequiredString();的代码,加个return;
酷拉皮卡丘
酷拉皮卡丘
那就不要这样处理了,自己判断,然后return
0
Fraud
Fraud

好吧,其实我期待的是一个配置文件或者配置字段的处理方式


0
JFinal
JFinal

引用来自“va1entinc”的评论

好吧,其实我期待的是一个配置文件或者配置字段的处理方式


   JFinal 提出的 "API 引导式校验/配置" 具有很多优越性。在设计阶段曾经试过配置文件的方式,但比目前的方式开发体验差得太多,使用 "API引导式校验/配置" 的原因大致如下:

1:简单性

    使用 "API 引导式校验/配置" ,在 IDE中写程序时 IDE 代码提示会自动提示出所有校验 API 的名称,参数列表,也可以很方便地看到 API 使用说明。 此法消除了记忆负担,拿来即用,学习成本接近于零。而配置方式就需要记忆繁多配置项以及配置属性。

2:开发效率

    在输入阶段代码提示不仅可以加快输入速度,而且具有IDE静态代码检查可以消除输入错误,而配置方式输入速度远不如前者,并且还需要注意单词输入的正确性以及大小写正确性,发现错误也需要在调试阶段,修正错误后需要再进行调试,极大拉低了开发效率。

3:性能

    配置文件需要先加载到内存,然后需要针对校验逐项进行解析,还需要用到反射机制,性能将远不如 "API 引导式校验"。

     使用配置文件的假想依据是将来可能要改变验证方式或者验证字段,希望将来只用改配置而不用改代码就可以搞定,但这通常也需要改变代码,所以此假想在绝大多数情况下不成立。

   在 JFinal 看来配置文件大多是用来在不同部署环境下改变那些必须改变的配置项,例如数据库连接用户名密码这类东东,而现状是在 java 世界到处都是配置,到处都是 xml,一个原因是为了弥补 java 语言的不足,二个原因就是对 xml 的滥用,我们需要做点什么呢? 解救?

大白熊
大白熊
0
Fraud
Fraud

引用来自“va1entinc”的评论

好吧,其实我期待的是一个配置文件或者配置字段的处理方式


引用来自“JFinal”的评论

   JFinal 提出的 "API 引导式校验/配置" 具有很多优越性。在设计阶段曾经试过配置文件的方式,但比目前的方式开发体验差得太多,使用 "API引导式校验/配置" 的原因大致如下:

1:简单性

    使用 "API 引导式校验/配置" ,在 IDE中写程序时 IDE 代码提示会自动提示出所有校验 API 的名称,参数列表,也可以很方便地看到 API 使用说明。 此法消除了记忆负担,拿来即用,学习成本接近于零。而配置方式就需要记忆繁多配置项以及配置属性。

2:开发效率

    在输入阶段代码提示不仅可以加快输入速度,而且具有IDE静态代码检查可以消除输入错误,而配置方式输入速度远不如前者,并且还需要注意单词输入的正确性以及大小写正确性,发现错误也需要在调试阶段,修正错误后需要再进行调试,极大拉低了开发效率。

3:性能

    配置文件需要先加载到内存,然后需要针对校验逐项进行解析,还需要用到反射机制,性能将远不如 "API 引导式校验"。

     使用配置文件的假想依据是将来可能要改变验证方式或者验证字段,希望将来只用改配置而不用改代码就可以搞定,但这通常也需要改变代码,所以此假想在绝大多数情况下不成立。

   在 JFinal 看来配置文件大多是用来在不同部署环境下改变那些必须改变的配置项,例如数据库连接用户名密码这类东东,而现状是在 java 世界到处都是配置,到处都是 xml,一个原因是为了弥补 java 语言的不足,二个原因就是对 xml 的滥用,我们需要做点什么呢? 解救?

正在项目中尝试Jfinal
返回顶部
顶部