| 1 16 package org.outerj.daisy.frontend.editor; 17 18 import org.apache.cocoon.forms.validation.WidgetValidator; 19 import org.apache.cocoon.forms.validation.ValidationError; 20 import org.apache.cocoon.forms.formmodel.Widget; 21 import org.outerj.daisy.repository.schema.FieldTypeUse; 22 23 import java.util.Iterator ; 24 25 28 public class CheckFieldsFormValidator implements WidgetValidator { 29 private DocumentEditorForm documentEditorForm; 30 31 public CheckFieldsFormValidator(DocumentEditorForm documentEditorForm) { 32 this.documentEditorForm = documentEditorForm; 33 } 34 35 public boolean validate(Widget widget) { 36 boolean success = true; 37 38 if (documentEditorForm.getValidateOnSave()) { 39 Iterator childWidgetsIt = documentEditorForm.getFieldsForm().getChildren(); 40 while (childWidgetsIt.hasNext()) { 41 Widget childWidget = (Widget)childWidgetsIt.next(); 42 if (childWidget.getId().startsWith("field_")) { 43 FieldEditor fieldEditor = (FieldEditor)childWidget.getAttribute("fieldEditor"); 44 FieldTypeUse fieldTypeUse = documentEditorForm.getDocumentType().getFieldTypeUse(fieldEditor.getFieldType().getId()); 45 if (fieldTypeUse.isRequired() && !fieldEditor.hasValue(childWidget)) { 46 fieldEditor.setValidationError(new ValidationError("editdoc.field-required", true), childWidget); 47 success = false; 48 } 49 } 50 } 51 } 52 53 return success; 54 } 55 } 56 | Popular Tags |