请教SSH的验证问题:如果一个填写的表单不按要求输入,验证操作是在JSP页面进行(或用JavaScript),还是在ActionForm中进行?新手求教,高人指点  谢谢~~

解决方案 »

  1.   

    哪也行,看怎么方便怎么来,最好写在页面上,要是在Action也可以,要用到国际化语言那个文件,操作还是有点麻烦,也可以用自带的验证框架。
      

  2.   

    JavaScript 再页面上初验证可以
    但如果有人屏蔽JAVA脚本代码 你的JavaScript就不起作用了 所以action也得写验证
      

  3.   


    大哥,我问的是ActionForm里面的验证validate,不是Action
      

  4.   

    用JavaScript验证就可以了,方便、使用
      

  5.   

    一般来说,用javascript是防君子不防小人,javascript在浏览器端可以屏蔽、查看,甚至更改。
    javascript可以防大部分人,但一些人可能就要服务器端验证了。
    服务器端验证可以在ActionForm在validate方法中验证,也可以用validate框架
      

  6.   

    人才 你actionForm在那取得的 不是再action里面用再那里用
    public ActionForward login(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    你不得访问action吗? 要不你怎么取actionForm
    User userForm = (User) form;
    他只是吧你前台页面中 Form有User属性的 放到里面 没有的还得用 
    String strRand=request.getParameter("strRand"); 取值验证验证是怎么写的
    if(userForm.getName()==null ||userForm.getName().equals("")){
    message.add("message",new ActionMessage("用户名不能为空",false));
     this.saveErrors(request,message);
    return mapping.findForward("index");
    }else if(user==null|| user.equals("")){
    message.add("message",new ActionMessage("用户名或密码错误",false));
    this.saveErrors(request,message);
    return mapping.findForward("index");
    }else if(!strRand.equals(rand)){
    message.add("message",new ActionMessage("验证码输入错误",false));
    this.saveErrors(request,message);
    return mapping.findForward("index");
    }
    然后还得sturts里面
    <action attribute="userForm" parameter="method" validate="true"
    name="userForm" path="/user" scope="request"
    type="org.springframework.web.struts.DelegatingActionProxy">
    validate 功能打开才能实现
    ApplicationResources.properties
    配置文件可以改变他的字体和颜色
    errors.header=<font color='red' size='2'>
    errors.footer=</font>
    messages.header=<font color='blue'>
    messages.footer=</font>
    errors.prefix=<li>
    errors.suffix=</li>
    这回你应该明白了吧,哎无语
      

  7.   

    如果一个填写的表单不按要求输入,验证操作是在JSP页面进行(或用JavaScript),还是在ActionForm中
    最安全的方法是三处处理:
    一处是 js先验证二处是 actionForm , 这个可以防止网页下载到本地对js进行修改,然后再本地发起请求三处 是防止sql注入over。