データチェツク

6581 ワード

データチェツク
フォームデータの検証:
フロント検証:主にjs検証を通じて、データが合法かどうかを表現します!
バックグラウンド検証:バックグラウンドjavaコードによる検証(strutsでもデータ検証が可能)
strutsデータチェック、ブロッキングで完了:
  
  • コード方式Actionのすべての方法を検証する:ステップ:
  • struts環境
  • を構築する
  • login.jsp
  • UserAction.java


  • strutsデータ検証エラー情報処理:
    public synchronized void addFieldError(String fieldName, String errorMessage) {
    		//1.     map  
            Map> errors = this.internalGetFieldErrors();
            //2.Map value (  key,       list  )
            List thisFieldErrors = (List)errors.get(fieldName);
            //3.       map      key,       
            if (thisFieldErrors == null) {
            	//  
                thisFieldErrors = new ArrayList();
                errors.put(fieldName, thisFieldErrors);
            }
    		//4.      
            ((List)thisFieldErrors).add(errorMessage);
        }
    
    

    Action実装
     //         
        @Override
        public void validate() {
            //     
            if(user.getName() == null || "".equals(user.getName())){
                //      
                super.addFieldError("name","       ");
            }
            //    
            if(user.getPwd() == null || "".equals(user.getPwd())){
                //      
                super.addFieldError("pwd","      ");
            }
    
            super.validate();
        }
    

  • コード方式検証Actionで指定された方法:
    書き込み検証メソッドの命名規則:
    validate+検証するメソッドのメソッド名

  • 次のようになります.
    public void validateRegister(){...}指定したactionのregisterメソッドのみ検証
    総括コード方式検証:
    煩雑で、多くの繰り返しの検証ロジックに関連しています!たとえば、空でない検証、数値検証、email検証、日付などです.
    strutsは、指定した一般的なビジネスロジックを検証する検証器を提供するパッケージ化された一般的な検証を行います.
    strutsが提供するベリファイア:
    パス:
    xwork-core-2.3.4.1.jar!\com\opensymphony\xwork2\validator\validators\default.xml
    
    
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
  • XML方式検証Actionのすべての方法:xmlをどのように書き、検証ルールを定義するか:
  • xmlネーミング構文:ActionClassName-validation.xml注:このxmlは、現在検証するアクションと同じディレクトリにある必要があります.例:UserAction-validation.xml
  • xml
  • を書く
    
    
    
    
    
        
        
            
            
                
                        
            
        
    
        
        
            
            
                      
            
    
            
            
                6
                10
                     6 10 
            
        
    
        
        
            
                      
            
        
        
        
            
                      
            
        
    
    
    
    
  • XML方式Actionで指定された方法を検証します.
  • xmlネーミング構文:ActionClassName-ActionName-validation.xml注:このxmlは、現在検証するアクションと同じディレクトリにある必要があります.例:UserAction-user_register-validation.xml useractionのuser_を検証registerメソッド
  • xml xmlの内容を書くのは、すべての方法を検証するのと同じで、この2つはファイル名の命名が異なるだけです.

  • 検証の概要:コード:
  • validate()メソッドを書き換え、actionのすべてのメソッド
  • を検証する
  • validateメソッド名()、指定メソッド
  • の検証
  • は比較的柔軟で、すべてのニーズを満たすことができます
  • は煩雑で、重複する検証判断ロジック
  • を書く
  • フォームに適合し、フィールドが少ない場合
  • xml:
  • すべてのメソッドの検証:ActionClassName-validation.xml
  • 検証指定方法:ActionClassName-ActionName-validation.xml
  • は汎用的ですが、柔軟ではありません.特定の簡単なビジネスを検証できます.
  • 適合:検証フォームフィールドが多く、コード
  • を簡略化できる
  • プロファイルが多すぎる

  • データ検証エラー処理
  • すべてのエラーを表示:
  • 
    
    
  • 指定エラーを表示:
  • 
    
    
           :
             :
        
    
  • ラベル定義のテンプレートファイルパスを変更:struts 2-core-2.3.4.1.jar!templatesimplefielderror.ftl内容を変更すればよい.修正したファイルをsrc下
  • に置く