Package org.eweb4j.mvc.validator

Source Code of org.eweb4j.mvc.validator.ValidateExecution

package org.eweb4j.mvc.validator;

import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;

import org.eweb4j.config.Log;
import org.eweb4j.config.LogFactory;
import org.eweb4j.mvc.action.Validation;
import org.eweb4j.mvc.config.bean.ValidatorConfigBean;
import org.eweb4j.util.StringUtil;

public class ValidateExecution {

  private static Log log = LogFactory.getMVCLogger(ValidateExecution.class);

  public static Validation checkValidate(List<ValidatorConfigBean> valList, Map<String, String[]> paramMap, HttpServletRequest req) {

    Validation validation = new Validation();

    if (valList == null || valList.isEmpty())
      return validation;

    // 启动验证器
    for (int i = valList.size() - 1; i > -1; i--) {
      ValidatorConfigBean val = valList.get(i);
      ValidatorIF validator = null;
      if (!"".equals(val.getName())) {
        // 根据name属性实例化相关的验证器,如果找不到,就根据class属性实例化
        validator = ValidatorFactory.getValidator(val.getName());
        if (validator == null)
          try {
            validator = (ValidatorIF) Class.forName(val.getClazz()).newInstance();
          } catch (Exception e) {
            log.error(StringUtil.getExceptionString(e));
          }
      }

      if (validator == null)
        continue;

      Map<String, Map<String, String>> err = validator.validate(val, paramMap, req).getErrors();
      for (Entry<String, Map<String,String>> en : err.entrySet()){
        String key = en.getKey();
        Map<String,String> value = en.getValue();
        if (validation.getErrors().containsKey(key))
          validation.getErrors().get(key).putAll(value);
        else
          validation.getErrors().put(key, value);
      }
    }

    return validation;
  }
}
TOP

Related Classes of org.eweb4j.mvc.validator.ValidateExecution

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.