Parcourir la source

add ECField.required attribute, enforce in validator

tags/2.0.1
Jonathan Cobb il y a 4 ans
Parent
révision
5db336b365
2 fichiers modifiés avec 8 ajouts et 1 suppressions
  1. +7
    -1
      wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityConfig.java
  2. +1
    -0
      wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/annotations/ECField.java

+ 7
- 1
wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityConfig.java Voir le fichier

@@ -530,6 +530,7 @@ public class EntityConfig {
ECForeignKey fkAnnotation,
Map<String, Integer> fieldIndexes) {
final EntityFieldConfig cfg = new EntityFieldConfig()
.setRequired(fieldAnnotation.required())
.setMode(fieldAnnotation.mode())
.setType(getFieldType(fieldName, fieldAnnotation, accessor, fkAnnotation));
if (!empty(fieldAnnotation.name())) cfg.setName(fieldAnnotation.name());
@@ -665,7 +666,12 @@ public class EntityConfig {
final Locale locale = (o instanceof HasLocale) ? ((HasLocale) o).getLocale() : Locale.getDefault();
for (EntityFieldConfig field : getFields().values()) {
final Object value = ReflectionUtil.get(o, field.getName());
if (value != null) {
if (empty(value)) {
if (field.required()) {
if (validation == null) validation = new ValidationResult();
validation.addViolation("err."+field.getName()+".required");
}
} else {
ValidationResult fieldValidation = field.validate(locale, validator, value);
if (fieldValidation != null) {
if (validation == null) validation = new ValidationResult();


+ 1
- 0
wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/annotations/ECField.java Voir le fichier

@@ -18,6 +18,7 @@ public @interface ECField {
String displayName() default "";
EntityFieldMode mode() default EntityFieldMode.standard;
EntityFieldType type() default EntityFieldType.none_set;
boolean required() default true;
int length() default -1;
EntityFieldControl control() default EntityFieldControl.unset;
String options() default "";


Chargement…
Annuler
Enregistrer