日期:2014-05-17  浏览次数:20720 次

关于前后台验证的整合问题
通常来说前台会使用js进行验证,或者是使用jquery验证
不管使用那种前台验证方式,都应该有一个验证配置文件

而后台验证也是必不可少的,如果使用struts,可以利用struts验证框架
但不管是1.x还是2.0的验证框架都不是很令人满意,我一般都会写validate方法自己验证,
这里也会又一个或多个验证的配置文件

我现在的问题是 有没有可能通过一个配置文件搞定前后台验证的整合,
不一定非用我上面说的struts jquery整合,而且我觉得他俩的整合有些不太可能
只要能做到前后台用一个配置文件就OK。。

请大家说说在项目中是如何解决这个问题的

谢谢帮忙

------解决方案--------------------
自己感觉, 你可以定个规则,前台的 js 可以读并能分析这个规则,后台你另写一个内容来分析这个规则
------解决方案--------------------
关注一下,我也感性趣~!
------解决方案--------------------
一个配置就想完成前后台验证?不可能吧
我都是用两个,前后一个
------解决方案--------------------
其实我考虑都没你那么多,因为前后台都是分组开发的

其实统一的用js 和 正则类 来验证。web调用js,如果你用struts可以在form里用正则类。

用servlet或其他的可以把vo或pojo传递给正则类。

虽然繁琐了一点,但是没出过任何问题


------解决方案--------------------
一个配置文件是可以搞定的,要进行一些设置,这样struts1.x和struts2会将配置文件中的验证规则在前台生成js验证脚本,

Struts 2可以通过Validation XML定义文件的方式实现表单验证, 默认情况下是提交后才能显示验证信息, 那么Struts 2其实支持客户端生成脚本来在提交之前进行验证, 具体的修改很简单, 不需要动服务器端XML文件, 只需要在标签加入如下一个标记:

<s:form validate="true" … > 这样, 就会变成客户端验证方式

Struts1的忘了,可以找一下资料,是可以的。

------解决方案--------------------
一般前台和后台提炼出常用的验证代码重复使用就行,最好不要全部写XML配置(个人觉的struts的配置写太多了,不好维护)。

比如前台全部引用1个JS。这样验证就行,比如有2个文本框 name,pwd 需要不能为空。

前台这样定义:
<script>
valid_requireIds = "name,pwd";
<script>

后台可以使用注释来验证,比如:

public class user{
@Require
private String name;

@Require
private pwd;
  
....
}

当然,前提是要你自己写好了通用的验证代码,以后所有项目都可以这样使用。
------解决方案--------------------
探讨
to zou_wei_forever 感谢关注
可能我对struts validator 掌握的不是很好
我发现在使用过程中不是很方便阿
比如说
三个字段 id name password 验证规则都是Require
在新增和修改时没有什么问题
但是查询或删除的时候只需要对id进行验证 name和password是不需要验证的
使用struts validator 的话这里就不好用了

而且struts生成的前台js验证非常臃肿。。
不是很理想

------解决方案--------------------
惭愧,从来没有像楼主那样去思考过,前台习惯用js 后台就使用struts了
关注ing
------解决方案--------------------
还是分开写比较好
用一个,想不到什么好方法,用一个每次验证client和server都得交互一次吧,感觉不太好。
关注
------解决方案--------------------
现在追求的是MVC模式,都是分开写的
------解决方案--------------------
放在一起的话存在一定的耦合性
------解决方案--------------------
语言灵活也是有点限度的 不可能写一样东西要全部地方都可以用 公共的东西我们是可以把他分开 而前后台验证就不行了 我的看法是:所有的程序其他部分可能一样 但是验证的部分肯定是一个程序一个样的(如果连验证都一样的话那就不用写那么多了)
我没有实际的开发经验 我的老师告诉我前台验证和后台验证不能混淆 因为前台验证是要告诉用户:你是错的
而后台如果验证失败那么反应可不是仅仅告诉用户错误的问题了 如果有人没有经过前台验证而直接到达后台的话 那就不是普通的验证问题了 这属于异常问题了
------解决方案--------------------
对于前台的基本验证,如必填,非空等,完全可以在标签上多加个属性来实现(自定义标签)。这样就可以省一个配置文件了
------解决方案--------------------
关注一下!
------解决方案--------------------
探讨
自己感觉, 你可以定个规则,前台的 js 可以读并能分析这个规则,后台你另写一个内容来分析这个规则