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;
}
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;
}
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;
}
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;
}
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;
}
Aggregations