package org.eweb4j.mvc.config.creator;
import org.eweb4j.mvc.config.bean.FieldConfigBean;
import org.eweb4j.mvc.config.bean.ParamConfigBean;
import org.eweb4j.mvc.config.bean.ValidatorConfigBean;
import org.eweb4j.mvc.validator.ValidatorConstant;
import org.eweb4j.mvc.validator.annotation.ForbidVal;
public class ForbidImpl implements ValidatorCreator {
private ForbidVal ann;
public ForbidImpl(ForbidVal ann) {
this.ann = ann;
}
public ValidatorConfigBean create(String fieldName, ValidatorConfigBean val) {
if (this.ann == null)
return null;
if (val == null || !ValidatorConstant.FORBID_VAL.equals(val.getName())) {
val = new ValidatorConfigBean();
val.setName(ValidatorConstant.FORBID_VAL);
}
FieldConfigBean fcb = new FieldConfigBean();
fcb.setName(fieldName);
fcb.setMessage(ann.mess());
ParamConfigBean pcb = new ParamConfigBean();
pcb.setName(ValidatorConstant.FORBID_WORD_PARAM);
StringBuilder sb = new StringBuilder();
for (String s : ann.words()){
if (sb.length() > 0)
sb.append("#");
sb.append(s);
}
pcb.setValue(sb.toString());
fcb.getParam().add(pcb);
val.getField().add(fcb);
return val;
}
}