Search in sources :

Example 1 with Validation

use of org.eweb4j.mvc.action.Validation in project eweb4j-framework by laiweiwei.

the class ValidatorHelper method validate.

public Validation validate(ValidatorConfigBean val, Context context) {
    Map<String, String> valError = new HashMap<String, String>();
    for (FieldConfigBean f : val.getField()) {
        String fieldName = f.getName();
        String[] value = context.getQueryParamMap().get(fieldName);
        if (value == null || value.length == 0)
            continue;
        for (String v : value) {
            if (!v.matches(this.regex)) {
                String mess = f.getMessage();
                if (mess.length() == 0)
                    mess = " %s-validator : your input { %s = %s } must matches [ %s ]";
                valError.put(fieldName, String.format(mess, val.getName(), fieldName, v, regex));
                break;
            }
        }
        context.getRequest().setAttribute(fieldName, value);
    }
    Validation validation = new Validation();
    if (!valError.isEmpty())
        validation.getErrors().put(val.getName(), valError);
    return validation;
}
Also used : Validation(org.eweb4j.mvc.action.Validation) HashMap(java.util.HashMap) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Example 2 with Validation

use of org.eweb4j.mvc.action.Validation in project eweb4j-framework by laiweiwei.

the class EnumValidator 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();
        param: for (ParamConfigBean p : f.getParam()) {
            if (Validators.ENUM_WORD_PARAM.equalsIgnoreCase(p.getName())) {
                String[] enumWord = p.getValue().split("#");
                if (enumWord == null || enumWord.length == 0)
                    continue;
                boolean flag = false;
                for (String v : value) {
                    for (String word : enumWord) {
                        if (v.equals(word)) {
                            flag = true;
                            break;
                        }
                    }
                    if (flag)
                        continue;
                    mess = mess.replace("{words}", p.getValue());
                    valError.put(f.getName(), mess);
                    break param;
                }
            }
        }
        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 3 with Validation

use of org.eweb4j.mvc.action.Validation in project eweb4j-framework by laiweiwei.

the class EqualsValidator 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();
        boolean flag = false;
        param: for (ParamConfigBean p : f.getParam()) {
            if (!Validators.EQUALS_TO_PARAM.equalsIgnoreCase(p.getName()))
                continue;
            String paramValue = p.getValue();
            String[] others = context.getQueryParamMap().get(paramValue);
            if (others == null || others.length == 0) {
                flag = true;
                break param;
            }
            for (String v : value) {
                if (!v.equals(others[0])) {
                    flag = true;
                    break param;
                }
            }
        }
        if (flag)
            valError.put(f.getName(), mess);
        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 4 with Validation

use of org.eweb4j.mvc.action.Validation in project eweb4j-framework by laiweiwei.

the class RegexValidator method validate.

public Validation validate(ValidatorConfigBean val, Context context) {
    Map<String, String> valError = new HashMap<String, String>();
    for (FieldConfigBean f : val.getField()) {
        String key = f.getName();
        String[] value = context.getQueryParamMap().get(key);
        if (value == null || value.length == 0)
            continue;
        String mess = f.getMessage();
        param: for (ParamConfigBean param : f.getParam()) {
            String pName = param.getName();
            if (!Validators.REGEX_PARAM.equals(pName))
                continue;
            String pValue = param.getValue();
            for (String v : value) {
                if (!v.matches(pValue)) {
                    valError.put(key, mess.replace("{pattern}", pValue));
                    break param;
                }
            }
        }
        context.getRequest().setAttribute(key, 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 5 with Validation

use of org.eweb4j.mvc.action.Validation in project eweb4j-framework by laiweiwei.

the class RequriedValidator 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());
        List<UploadFile> files = context.getUploadMap().get(f.getName());
        String mess = f.getMessage();
        if ((value == null || value.length == 0) && (files == null || files.isEmpty()))
            valError.put(f.getName(), mess);
        else {
            boolean isBlank = false;
            if (value != null)
                for (String v : value) {
                    if (v == null || v.trim().length() == 0) {
                        isBlank = true;
                        break;
                    }
                }
            if (!isBlank) {
                if (files != null)
                    for (UploadFile file : files) {
                        if (file == null || file.getFileName() == null || file.getFileName().trim().length() == 0 || file.getTmpFile() == null) {
                            isBlank = true;
                            break;
                        }
                    }
            }
            if (isBlank)
                valError.put(f.getName(), mess);
        }
        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) UploadFile(org.eweb4j.mvc.upload.UploadFile) HashMap(java.util.HashMap) FieldConfigBean(org.eweb4j.mvc.config.bean.FieldConfigBean)

Aggregations

Validation (org.eweb4j.mvc.action.Validation)12 HashMap (java.util.HashMap)11 FieldConfigBean (org.eweb4j.mvc.config.bean.FieldConfigBean)11 ParamConfigBean (org.eweb4j.mvc.config.bean.ParamConfigBean)8 UploadFile (org.eweb4j.mvc.upload.UploadFile)2 DateFormat (java.text.DateFormat)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Map (java.util.Map)1 ValidatorConfigBean (org.eweb4j.mvc.config.bean.ValidatorConfigBean)1