假设用户跳过JS验证后Struts2验证怎么写? 50

比如我的用户名是邮箱名,我在JS中用正则表达式验证了,假设用户跳过了JS验证(这个很简单),我需要在服务器端再做一次验证邮箱名是否符合规范,比如@符号。我是否还要再做一次... 比如我的用户名是邮箱名,我在JS中用正则表达式验证了,假设用户跳过了JS验证(这个很简单),我需要在服务器端再做一次验证邮箱名是否符合规范,比如@符号。我是否还要再做一次类似的验证呢?JS验证的有点就是服务器端压力小,速度快,现在要做双重验证的话,岂不是很复杂?能不能有一种方式,让服务器中的验证自己选择,默认是不出发服务器验证,当客户端JS被跳过时,再进入服务器端验证。如果没有这种方式,麻烦把Struts2中验证邮箱的详细代码写出来,谢啦。 高分悬赏。 展开
 我来答
小河感n
2013-09-24 · TA获得超过460个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:149万
展开全部
弄格隐藏input ,js验证时给他附上值,然后到服务器端后判读一下不就行了,

<field name="user.email">
<field-validator type="regex">
<param name="expression">^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$</param>
<message>Email格式错误</message>
</field-validator>
</field>
追问
如果用户把网页另存为,然后删了JS,删了这段代码,不是照样可以提交一个不正确的表单到服务器吗?
追答
1、加一个验证吗防止重复提交
2、写一个js获取当前浏览器路径,然后你在服务上判读一下这个路径是否是你的合法路径
3、在action所处理的类方法里验证邮箱是否合法,(加上这个其他的加不加无所谓了,验证码除外)

首先你那个action路径是公开的,只要会编程的都会找到,还有网页html这个是无发隐藏的即使你用《frame 框架 虽然在网页源码找不到,但是用火狐的debug插件是可以看到具体页面的html代码,
所有说在客户端你就不用考虑怎么阻止,只有在服务器上做判断了(谁也看不了你的代码,被攻击除外),还有谁会没事把“网页另存为,然后删了JS,删了这段代码” ,反正我是不会干那的 除非你的竞争对手
这只是个思路 你自己看看,不过最有效的还是在服务器端判读,还有一般比较敏感的输入都是双重验证的呀,js和服务器端验证。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有个逗比2s
2013-09-24
知道答主
回答量:43
采纳率:0%
帮助的人:14.3万
展开全部
加一个状态值,如果已经经过js验证了那么吧这个状态值传到action,让action不用验证。
追问
请问一下这个状态值要怎么加呢?action怎么获取这个状态值啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式