1 31 32 package org.opencms.frontend.templateone.form; 33 34 import org.opencms.i18n.CmsMessages; 35 import org.opencms.util.CmsStringUtil; 36 37 import java.util.Iterator ; 38 39 45 public class CmsCheckboxField extends A_CmsField { 46 47 48 private static final String TYPE = "checkbox"; 49 50 53 public String getType() { 54 55 return TYPE; 56 } 57 58 63 public static String getStaticType() { 64 65 return TYPE; 66 } 67 68 71 public String buildHtml(CmsFormHandler formHandler, CmsMessages messages, String errorKey) { 72 73 StringBuffer buf = new StringBuffer (); 74 String fieldLabel = getLabel(); 75 String errorMessage = ""; 76 String mandatory = ""; 77 78 if (CmsStringUtil.isNotEmpty(errorKey)) { 79 80 if (CmsFormHandler.ERROR_MANDATORY.equals(errorKey)) { 81 errorMessage = messages.key("form.error.mandatory"); 82 } else if (CmsStringUtil.isNotEmpty(getErrorMessage())) { 83 errorMessage = getErrorMessage(); 84 } else { 85 errorMessage = messages.key("form.error.validation"); 86 } 87 88 errorMessage = messages.key("form.html.error.start") + errorMessage + messages.key("form.html.error.end"); 89 fieldLabel = messages.key("form.html.label.error.start") + fieldLabel + messages.key("form.html.label.error.end"); 90 } 91 92 if (isMandatory()) { 93 mandatory = messages.key("form.html.mandatory"); 94 } 95 96 buf.append(messages.key("form.html.row.start")).append("\n"); 98 99 buf.append(messages.key("form.html.label.start")) 101 .append(fieldLabel) 102 .append(mandatory) 103 .append(messages.key("form.html.label.end")).append("\n"); 104 105 buf.append(messages.key("form.html.field.start")).append("\n"); 107 108 Iterator i = getItems().iterator(); 110 while (i.hasNext()) { 111 112 CmsFieldItem curOption = (CmsFieldItem)i.next(); 113 String checked = ""; 114 if (curOption.isSelected()) { 115 checked = " checked=\"checked\""; 116 } 117 118 buf.append("<input type=\"checkbox\" name=\"").append(getName()).append("\" value=\"").append(curOption.getValue()).append("\"").append(checked).append(">").append(curOption.getLabel()); 119 120 if (i.hasNext()) { 121 buf.append("<br>"); 122 } 123 124 buf.append("\n"); 125 } 126 127 buf.append(errorMessage).append("\n"); 128 129 buf.append(messages.key("form.html.field.end")).append("\n"); 130 131 buf.append(messages.key("form.html.row.end")).append("\n"); 132 133 return buf.toString(); 134 } 135 136 } 137 | Popular Tags |