package com.akjava.lib.common.form; import java.util.Map; import java.util.Set; import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; public class FormFieldValidate { private HashMultimap<String,Validator> errorValidators=HashMultimap.create(); public FormFieldValidate(){ errorValidators.put("name", StaticValidators.notEmptyValidator()); errorValidators.put("key", StaticValidators.notEmptyValidator()); errorValidators.put("type", StaticValidators.notEmptyValidator()); errorValidators.put("key",StaticValidators.startAsciiChar()); errorValidators.put("key",StaticValidators.asciiNumberAndCharAndUnderbarOnly()); errorValidators.put("type", Validators.avaiableValueOnly(FormFieldData.TYPES, false)); errorValidators.put("createAuto", Validators.avaiableValueOnly(Lists.newArrayList("yes","","no"), false)); //errorValidators.put("validators", Validators.avaiableValueOnly(ValidatorTools.getValidatorMap().keySet(), false)); } public HashMultimap<String,String> doCheckError(FormFieldData data){ HashMultimap<String,String> errors=HashMultimap.create(); Map<String,String> map=FormFieldDataDto.formDataToMap(data); for(String key:map.keySet()){ String value=map.get(key); Set<Validator> validators=errorValidators.get(key); for(Validator validator:validators){ if(!validator.validate(value)){ errors.put(key,ValidatorTools.getValidatorLabel(validator)); } } } return errors; } //FUTURE public void doCheckWarning(FormFieldData data){ } }