Jqueryプラグインvalidateのremoteの使い方


validateはJqueryベースのフォーム検証プラグインで、彼のremoteを利用してリモート検証をカスタマイズすることができ、最近プロジェクトでこれを使用していますが、この中で出会ったいくつかの問題は、誤解されているような気がします.次に例を見てみましょう.
検証するフォームです.
  

 品名:

  
ここで品名の一意性を検証し、品名を入力して繰り返すとヒントを与えます.
次はJSコードです
  
jQuery(document).ready(function($){   
    $(".validateform").validate({   
  
          rules:{   
                 pinm86:{   
                          required:true,   
                          remote:{   
url:「validateSbSbinfoData.action」//バックグラウンドハンドラtype:「get」//データ送信方式DataType:「json」//受信データフォーマットdata:{//転送するデータ                                pinm86: function() {   
                                    return $("#pinm86").val();   
                                           }   
  
                                   }   
            
                               }     
                         }   
                      },   
    messages:{    
        pinm86:{    
remote:「品名はすでに存在します!」    
        } }   
            
         
    });   
});   
 
多くのネット上の文章はremoteがJsonフォーマットのデータを受け入れることだけに言及して、それからなくなって、実はremoteが受け入れる戻り値はtrueとfalseだけで、ソースコードを見ることによって発見することができて、remoteは戻るfalseとtrueを通じて判断して、それではあなたのバックグラウンドのプログラムはtrueとfalseの値を返すだけで、この点は私に長い間誤解させました.プロジェクトはStruts 2を使用しているので、strutsのプロファイルです.よく知らないことはないでしょう.
  
  
              
                       UTF-8  
resstrここのresstrはActionに対応する属性値である.
              
            UTF-8  
          
  
 
ここには2つの点に注意しなければならない.ActionではJsonデータフォーマットが返されるのでここでのextendsは「struts-default」ではなく「json-default」です.
2.このパラメータresstrを加えると、ここのresstrはActionに対応する属性値です
以下はsbSbinfoAction
public class SbSbinfoAction extends ActionSupport implements ServletRequestAware,SessionAware {   
  
    private boolean resstr;   
  
  
    public String validateData()   
    {     
        String result = ERROR;   
        String vcpinm=(String)this.request.getParameter("pinm86");   
        Map map= new HashMap();   
        map= sbSbinfoService.validateData(vcpinm);   
        Object dd=map.get("n");   
        String s=dd.toString();   
        if(s.equals("0"))   
        {this.resstr=true;}   
        else  
        {this.resstr=false;   
               
        }   
        result= SUCCESS;   
        return result;   
    }   
  
       
    @JSON(serialize=false)   
    public SbSbinfoService getSbSbinfoService() {   
        return sbSbinfoService;   
    }   
  
  
  
    public boolean getResstr() {   
        return resstr;   
    }   
  
    public void setResstr(boolean resstr) {   
        this.resstr = resstr;   
    }   
  
  
}  
ここではJsonデータフォーマット変換の問題について、将来の関連文章に触れます.この文章があなたを助けてくれることを望んでいます.
本文は新鮮なオレンジバーの原文の住所から来ました:http://www.xianchengba.com/230.html