Search in sources :

Example 26 with FieldConfigBean

use of org.eweb4j.mvc.config.bean.FieldConfigBean in project eweb4j-framework by laiweiwei.

the class IntegerSizeValidator method validate.

public Validation validate(ValidatorConfigBean val, Context context) {
    Map<String, String> valError = new HashMap<String, String>();
    for (FieldConfigBean f : val.getField()) {
        String[] value = context.getQueryParamMap().get(f.getName());
        if (value == null || value.length == 0)
            continue;
        String mess = f.getMessage();
        int min = 0;
        int max = 0;
        boolean minFlag = false;
        boolean maxFlag = false;
        for (ParamConfigBean p : f.getParam()) {
            if (Validators.MIN_SIZE_PARAM.equals(p.getName())) {
                min = Integer.parseInt(p.getValue());
                minFlag = true;
            } else if (Validators.MAX_SIZE_PARAM.equals(p.getName())) {
                max = Integer.parseInt(p.getValue());
                maxFlag = true;
            }
            if (minFlag && maxFlag)
                break;
        }
        for (String v : value) {
            if (!v.matches(RegexList.integer_regexp))
                continue;
            int iv = Integer.parseInt(v);
            mess = mess.replace("{min}", min + "").replace("{max}", max + "");
            if (iv < min) {
                valError.put(f.getName(), mess);
                break;
            } else if (iv > max) {
                valError.put(f.getName(), mess);
                break;
            }
        }
        context.getRequest().setAttribute(f.getName(), value);
    }
    Validation validation = new Validation();
    if (!valError.isEmpty())
        validation.getErrors().put(val.getName(), valError);
    return validation;
}
Also used : Validation(org.eweb4j.mvc.action.Validation) ParamConfigBean(org.eweb4j.mvc.config.bean.ParamConfigBean) HashMap(java.util.HashMap) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Example 27 with FieldConfigBean

use of org.eweb4j.mvc.config.bean.FieldConfigBean in project eweb4j-framework by laiweiwei.

the class StringLengthValidator method validate.

public Validation validate(ValidatorConfigBean val, Context context) {
    Map<String, String> valError = new HashMap<String, String>();
    for (FieldConfigBean f : val.getField()) {
        String[] value = context.getQueryParamMap().get(f.getName());
        if (value == null || value.length == 0)
            continue;
        String mess = f.getMessage();
        int min = 0;
        int max = 0;
        boolean minFlag = false;
        boolean maxFlag = false;
        for (ParamConfigBean p : f.getParam()) {
            if (Validators.MIN_LENGTH_PARAM.equals(p.getName())) {
                min = Integer.parseInt(p.getValue());
                minFlag = true;
            } else if (Validators.MAX_LENGTH_PARAM.equals(p.getName())) {
                max = Integer.parseInt(p.getValue());
                maxFlag = true;
            }
            if (minFlag && maxFlag)
                break;
        }
        mess = mess.replace("{min}", min + "").replace("{max}", max + "");
        for (String v : value) {
            if (v.length() < min) {
                valError.put(f.getName(), mess);
                break;
            } else if (v.length() > max) {
                valError.put(f.getName(), mess);
                break;
            }
        }
        context.getRequest().setAttribute(f.getName(), value);
    }
    Validation validation = new Validation();
    if (!valError.isEmpty())
        validation.getErrors().put(val.getName(), valError);
    return validation;
}
Also used : Validation(org.eweb4j.mvc.action.Validation) ParamConfigBean(org.eweb4j.mvc.config.bean.ParamConfigBean) HashMap(java.util.HashMap) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Example 28 with FieldConfigBean

use of org.eweb4j.mvc.config.bean.FieldConfigBean in project eweb4j-framework by laiweiwei.

the class UploadValidator method validate.

public Validation validate(ValidatorConfigBean val, Context context) {
    Map<String, String> valError = new HashMap<String, String>();
    long countAllSize = 0;
    for (FieldConfigBean f : val.getField()) {
        String fieldName = f.getName();
        String msg = f.getMessage();
        List<UploadFile> files = context.getUploadMap().get(fieldName);
        if (files == null || files.isEmpty())
            continue;
        for (UploadFile file : files) {
            String fileName = file.getFileName();
            String fileContentType = file.getContentType();
            String tmpDir = null;
            long memoryMax = 0;
            String memoryMaxStr = null;
            long allSizeMax = 0;
            String allSizeMaxStr = null;
            long oneSizeMax = 0;
            String oneSizeMaxStr = null;
            String[] suffixArray = null;
            for (ParamConfigBean p : f.getParam()) {
                if (Validators.UPLOAD_TMP_DIR.equalsIgnoreCase(p.getName())) {
                    tmpDir = p.getValue();
                    continue;
                }
                if (Validators.UPLOAD_MAX_MEMORY_SIZE.equalsIgnoreCase(p.getName())) {
                    memoryMax = CommonUtil.strToInt(CommonUtil.parseFileSize(p.getValue()) + "");
                    memoryMaxStr = p.getValue();
                    continue;
                }
                if (Validators.UPLOAD_MAX_REQ_SIZE.equalsIgnoreCase(p.getName())) {
                    allSizeMax = CommonUtil.parseFileSize(p.getValue());
                    allSizeMaxStr = p.getValue();
                    continue;
                }
                if (Validators.UPLOAD_MAX_FILE_SIZE.equalsIgnoreCase(p.getName())) {
                    oneSizeMax = CommonUtil.parseFileSize(p.getValue());
                    oneSizeMaxStr = p.getValue();
                    continue;
                }
                if (Validators.UPLOAD_SUFFIX.equalsIgnoreCase(p.getName())) {
                    suffixArray = p.getValue().split(",");
                    continue;
                }
            }
            if (suffixArray != null && suffixArray.length > 0) {
                boolean isOk = false;
                for (String suffix : suffixArray) {
                    if (fileName.toLowerCase().endsWith("." + suffix.toLowerCase())) {
                        isOk = true;
                        break;
                    }
                }
                if (!isOk) {
                    valError.put(fieldName, getParamValue(Validators.UPLOAD_SUFFIX_MSG, f.getParam()).replace("{suffix}", Arrays.asList(suffixArray).toString()));
                    break;
                }
            }
            long fileSize = file.getSize();
            if (fileSize > oneSizeMax) {
                valError.put(fieldName, getParamValue(Validators.UPLOAD_MAX_FILE_SIZE_MSG, f.getParam()).replace("{maxFileSize}", oneSizeMaxStr));
                break;
            }
            countAllSize += fileSize;
            if (countAllSize > allSizeMax) {
                valError.put(fieldName, getParamValue(Validators.UPLOAD_MAX_REQ_SIZE_MSG, f.getParam()).replace("{maxRequestSize}", allSizeMaxStr));
                break;
            }
        }
    }
    Validation validation = new Validation();
    if (!valError.isEmpty())
        validation.getErrors().put(val.getName(), valError);
    return validation;
}
Also used : Validation(org.eweb4j.mvc.action.Validation) UploadFile(org.eweb4j.mvc.upload.UploadFile) ParamConfigBean(org.eweb4j.mvc.config.bean.ParamConfigBean) HashMap(java.util.HashMap) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Example 29 with FieldConfigBean

use of org.eweb4j.mvc.config.bean.FieldConfigBean in project eweb4j-framework by laiweiwei.

the class IntImpl method create.

public ValidatorConfigBean create(String fieldName, ValidatorConfigBean val) {
    if (this.ann == null)
        return null;
    if (val == null || !Validators.INT.equals(val.getName())) {
        val = new ValidatorConfigBean();
        val.setName(Validators.INT);
    }
    FieldConfigBean fcb = new FieldConfigBean();
    fcb.setName(fieldName);
    fcb.setMessage(CommonUtil.parsePropValue(ann.mess()));
    val.getField().add(fcb);
    return val;
}
Also used : ValidatorConfigBean(org.eweb4j.mvc.config.bean.ValidatorConfigBean) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Example 30 with FieldConfigBean

use of org.eweb4j.mvc.config.bean.FieldConfigBean in project eweb4j-framework by laiweiwei.

the class QQImpl method create.

public ValidatorConfigBean create(String fieldName, ValidatorConfigBean val) {
    if (this.ann == null)
        return null;
    if (val == null || !Validators.QQ.equals(val.getName())) {
        val = new ValidatorConfigBean();
        val.setName(Validators.QQ);
    }
    FieldConfigBean fcb = new FieldConfigBean();
    fcb.setName(fieldName);
    fcb.setMessage(CommonUtil.parsePropValue(ann.mess()));
    val.getField().add(fcb);
    return val;
}
Also used : ValidatorConfigBean(org.eweb4j.mvc.config.bean.ValidatorConfigBean) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Aggregations

FieldConfigBean (org.eweb4j.mvc.config.bean.FieldConfigBean)32 ValidatorConfigBean (org.eweb4j.mvc.config.bean.ValidatorConfigBean)21 ParamConfigBean (org.eweb4j.mvc.config.bean.ParamConfigBean)19 HashMap (java.util.HashMap)11 Validation (org.eweb4j.mvc.action.Validation)11 ActionConfigBean (org.eweb4j.mvc.config.bean.ActionConfigBean)2 ResultConfigBean (org.eweb4j.mvc.config.bean.ResultConfigBean)2 UploadFile (org.eweb4j.mvc.upload.UploadFile)2 DateFormat (java.text.DateFormat)1 SimpleDateFormat (java.text.SimpleDateFormat)1 ArrayList (java.util.ArrayList)1 ConfigBean (org.eweb4j.config.bean.ConfigBean)1 LogConfigBean (org.eweb4j.config.bean.LogConfigBean)1 IOCConfigBean (org.eweb4j.ioc.config.bean.IOCConfigBean)1 InterConfigBean (org.eweb4j.mvc.config.bean.InterConfigBean)1 ORMConfigBean (org.eweb4j.orm.config.bean.ORMConfigBean)1 DBInfoConfigBean (org.eweb4j.orm.dao.config.bean.DBInfoConfigBean)1