Browse Source

fix style of validation message

Kaoru FUZITA 9 years ago
parent
commit
8eb5983c7b
32 changed files with 207 additions and 131 deletions
  1. 5 5
      src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java
  2. 5 5
      src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java
  3. 2 2
      src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java
  4. 9 0
      src/main/java/org/codelibs/fess/app/web/admin/wizard/CrawlingConfigForm.java
  5. 8 8
      src/main/java/org/codelibs/fess/mylasta/action/FessMessages.java
  6. 4 4
      src/main/resources/fess_message.properties
  7. 2 4
      src/main/webapp/WEB-INF/view/admin/badword/admin_badword_edit.jsp
  8. 5 5
      src/main/webapp/WEB-INF/view/admin/boostdoc/admin_boostdoc_edit.jsp
  9. 9 3
      src/main/webapp/WEB-INF/view/admin/dataconfig/admin_dataconfig_edit.jsp
  10. 9 1
      src/main/webapp/WEB-INF/view/admin/design/admin_design.jsp
  11. 9 11
      src/main/webapp/WEB-INF/view/admin/design/admin_design_edit.jsp
  12. 6 5
      src/main/webapp/WEB-INF/view/admin/dict/kuromoji/admin_dict_kuromoji_edit.jsp
  13. 3 3
      src/main/webapp/WEB-INF/view/admin/dict/synonym/admin_dict_synonym_edit.jsp
  14. 4 5
      src/main/webapp/WEB-INF/view/admin/duplicatehost/admin_duplicatehost_edit.jsp
  15. 6 3
      src/main/webapp/WEB-INF/view/admin/elevateword/admin_elevateword_edit.jsp
  16. 9 5
      src/main/webapp/WEB-INF/view/admin/fileauth/admin_fileauth_edit.jsp
  17. 16 3
      src/main/webapp/WEB-INF/view/admin/fileconfig/admin_fileconfig_edit.jsp
  18. 3 5
      src/main/webapp/WEB-INF/view/admin/group/admin_group_edit.jsp
  19. 5 3
      src/main/webapp/WEB-INF/view/admin/keymatch/admin_keymatch_edit.jsp
  20. 7 3
      src/main/webapp/WEB-INF/view/admin/labeltype/admin_labeltype_edit.jsp
  21. 6 6
      src/main/webapp/WEB-INF/view/admin/pathmap/admin_pathmap_edit.jsp
  22. 5 5
      src/main/webapp/WEB-INF/view/admin/reqheader/admin_reqheader_edit.jsp
  23. 3 5
      src/main/webapp/WEB-INF/view/admin/role/admin_role_edit.jsp
  24. 4 5
      src/main/webapp/WEB-INF/view/admin/roletype/admin_roletype_edit.jsp
  25. 11 5
      src/main/webapp/WEB-INF/view/admin/scheduler/admin_scheduler_edit.jsp
  26. 7 5
      src/main/webapp/WEB-INF/view/admin/user/admin_user_edit.jsp
  27. 10 5
      src/main/webapp/WEB-INF/view/admin/webauth/admin_webauth_edit.jsp
  28. 18 4
      src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_edit.jsp
  29. 5 4
      src/main/webapp/WEB-INF/view/admin/wizard/admin_wizard_config.jsp
  30. 1 3
      src/main/webapp/WEB-INF/view/admin/wizard/admin_wizard_start.jsp
  31. 9 0
      src/main/webapp/css/admin/style.css
  32. 2 1
      src/main/webapp/js/admin/admin.js

+ 5 - 5
src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java

@@ -114,6 +114,8 @@ public class AdminDesignAction extends FessAdminAction implements Serializable {
 
     @Execute
     public HtmlResponse upload(final UploadForm form) {
+        validate(form, messages -> {}, () -> asListHtml());
+        verifyToken(() -> asListHtml());
         final String uploadedFileName = form.designFile.getFileName();
         String fileName = form.designFileName;
         if (StringUtil.isBlank(fileName)) {
@@ -128,11 +130,11 @@ public class AdminDesignAction extends FessAdminAction implements Serializable {
                     fileName = fileName.substring(pos + 1);
                 }
             } catch (final Exception e) {
-                throwValidationError(messages -> messages.addErrorsDesignFileNameIsInvalid(GLOBAL), () -> asListHtml());
+                throwValidationError(messages -> messages.addErrorsDesignFileNameIsInvalid("designFile"), () -> asListHtml());
             }
         }
         if (StringUtil.isBlank(fileName)) {
-            throwValidationError(messages -> messages.addErrorsDesignFileNameIsNotFound(GLOBAL), () -> asListHtml());
+            throwValidationError(messages -> messages.addErrorsDesignFileNameIsNotFound("designFile"), () -> asListHtml());
         }
 
         String baseDir = null;
@@ -147,7 +149,7 @@ public class AdminDesignAction extends FessAdminAction implements Serializable {
                 && checkFileType(uploadedFileName, systemHelper.getSupportedUploadedJSExtentions())) {
             baseDir = "/js/";
         } else {
-            throwValidationError(messages -> messages.addErrorsDesignFileIsUnsupportedType(GLOBAL), () -> asListHtml());
+            throwValidationError(messages -> messages.addErrorsDesignFileIsUnsupportedType("designFileName"), () -> asListHtml());
         }
 
         final File uploadFile = new File(getServletContext().getRealPath(baseDir + fileName));
@@ -164,8 +166,6 @@ public class AdminDesignAction extends FessAdminAction implements Serializable {
             logger.error("Failed to write an image file: {}", fileName, e);
             throwValidationError(messages -> messages.addErrorsFailedToWriteDesignImageFile(GLOBAL), () -> asListHtml());
         }
-        validate(form, messages -> {}, () -> asListHtml());
-        verifyToken(() -> asListHtml());
         return redirect(getClass());
     }
 

+ 5 - 5
src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java

@@ -343,10 +343,10 @@ public class AdminDictSynonymAction extends FessAdminAction {
     protected OptionalEntity<SynonymItem> createSynonymItem(final CreateForm form, final VaErrorHook hook) {
         return getEntity(form).map(entity -> {
             final String[] newInputs = splitLine(form.inputs);
-            validateSynonymString(newInputs, hook);
+            validateSynonymString(newInputs, "inputs", hook);
             entity.setNewInputs(newInputs);
             final String[] newOutputs = splitLine(form.outputs);
-            validateSynonymString(newOutputs, hook);
+            validateSynonymString(newOutputs, "outputs", hook);
             entity.setNewOutputs(newOutputs);
             return entity;
         });
@@ -363,19 +363,19 @@ public class AdminDictSynonymAction extends FessAdminAction {
         }
     }
 
-    private void validateSynonymString(final String[] values, final VaErrorHook hook) {
+    private void validateSynonymString(final String[] values, final String propertyName, final VaErrorHook hook) {
         if (values.length == 0) {
             return;
         }
         for (final String value : values) {
             if (value.indexOf(',') >= 0) {
                 throwValidationError(messages -> {
-                    messages.addErrorsInvalidStrIsIncluded(GLOBAL, value, ",");
+                    messages.addErrorsInvalidStrIsIncluded(propertyName, value, ",");
                 }, hook);
             }
             if (value.indexOf("=>") >= 0) {
                 throwValidationError(messages -> {
-                    messages.addErrorsInvalidStrIsIncluded(GLOBAL, value, "=>");
+                    messages.addErrorsInvalidStrIsIncluded(propertyName, value, "=>");
                 }, hook);
             }
         }

+ 2 - 2
src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java

@@ -286,13 +286,13 @@ public class AdminUserAction extends FessAdminAction {
         if (form.crudMode == CrudMode.CREATE && StringUtil.isBlank(form.password)) {
             resetPassword(form);
             throwValidationError(messages -> {
-                messages.addErrorsBlankPassword(GLOBAL);
+                messages.addErrorsBlankPassword("password");
             }, validationErrorLambda);
         }
         if (form.password != null && !form.password.equals(form.confirmPassword)) {
             resetPassword(form);
             throwValidationError(messages -> {
-                messages.addErrorsInvalidConfirmPassword(GLOBAL);
+                messages.addErrorsInvalidConfirmPassword("confirmPassword");
             }, validationErrorLambda);
         }
     }

+ 9 - 0
src/main/java/org/codelibs/fess/app/web/admin/wizard/CrawlingConfigForm.java

@@ -17,9 +17,12 @@ package org.codelibs.fess.app.web.admin.wizard;
 
 import java.io.Serializable;
 
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
 import javax.validation.constraints.Size;
 
 import org.lastaflute.web.validation.Required;
+import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure;
 
 public class CrawlingConfigForm implements Serializable {
 
@@ -33,8 +36,14 @@ public class CrawlingConfigForm implements Serializable {
     @Size(max = 1000)
     public String crawlingConfigPath;
 
+    @Min(value = 0)
+    @Max(value = 2147483647)
+    @ValidateTypeFailure
     public Integer depth;
 
+    @Min(value = 0)
+    @Max(value = 9223372036854775807l)
+    @ValidateTypeFailure
     public Long maxAccessCount;
 
 }

+ 8 - 8
src/main/java/org/codelibs/fess/mylasta/action/FessMessages.java

@@ -26,16 +26,16 @@ public class FessMessages extends FessLabels {
     /** The serial version UID for object serialization. (Default) */
     private static final long serialVersionUID = 1L;
 
-    /** The key of the message: &lt;ul&gt; */
+    /** The key of the message: &lt;label class="has-error"&gt; */
     public static final String ERRORS_HEADER = "{errors.header}";
 
-    /** The key of the message: &lt;/ul&gt; */
+    /** The key of the message: &lt;/label&gt; */
     public static final String ERRORS_FOOTER = "{errors.footer}";
 
-    /** The key of the message: &lt;li&gt; */
+    /** The key of the message: &lt;i class="fa fa-times-circle-o"&gt;&lt;/i&gt; */
     public static final String ERRORS_PREFIX = "{errors.prefix}";
 
-    /** The key of the message: &lt;/li&gt; */
+    /** The key of the message:  */
     public static final String ERRORS_SUFFIX = "{errors.suffix}";
 
     /** The key of the message: {item} must be false. */
@@ -344,7 +344,7 @@ public class FessMessages extends FessLabels {
     /**
      * Add the created action message for the key 'errors.header' with parameters.
      * <pre>
-     * message: &lt;ul&gt;
+     * message: &lt;label class="has-error"&gt;
      * comment: ------------
      * </pre>
      * @param property The property name for the message. (NotNull)
@@ -359,7 +359,7 @@ public class FessMessages extends FessLabels {
     /**
      * Add the created action message for the key 'errors.footer' with parameters.
      * <pre>
-     * message: &lt;/ul&gt;
+     * message: &lt;/label&gt;
      * </pre>
      * @param property The property name for the message. (NotNull)
      * @return this. (NotNull)
@@ -373,7 +373,7 @@ public class FessMessages extends FessLabels {
     /**
      * Add the created action message for the key 'errors.prefix' with parameters.
      * <pre>
-     * message: &lt;li&gt;
+     * message: &lt;i class="fa fa-times-circle-o"&gt;&lt;/i&gt;
      * </pre>
      * @param property The property name for the message. (NotNull)
      * @return this. (NotNull)
@@ -387,7 +387,7 @@ public class FessMessages extends FessLabels {
     /**
      * Add the created action message for the key 'errors.suffix' with parameters.
      * <pre>
-     * message: &lt;/li&gt;
+     * message: 
      * </pre>
      * @param property The property name for the message. (NotNull)
      * @return this. (NotNull)

+ 4 - 4
src/main/resources/fess_message.properties

@@ -5,10 +5,10 @@
 # ----------------------------------------------------------
 #                                               Lasta Taglib
 #                                               ------------
-errors.header=<ul>
-errors.footer=</ul>
-errors.prefix=<li>
-errors.suffix=</li>
+errors.header=<label class="has-error">
+errors.footer=</label>
+errors.prefix=<i class="fa fa-times-circle-o"></i>
+errors.suffix=
 
 # ----------------------------------------------------------
 #                                            Javax Validator

+ 2 - 4
src/main/webapp/WEB-INF/view/admin/badword/admin_badword_edit.jsp

@@ -45,7 +45,6 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<h3 class="box-title">
 										<c:if test="${crudMode == 1}">
@@ -84,18 +83,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="word" class="col-sm-3 control-label"><la:message
 												key="labels.suggest_bad_word_suggest_word" /></label>
 										<div class="col-sm-9">
+											<la:errors property="suggestWord" />
 											<la:text property="suggestWord" styleClass="form-control" />
 										</div>
 									</div>

+ 5 - 5
src/main/webapp/WEB-INF/view/admin/boostdoc/admin_boostdoc_edit.jsp

@@ -33,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="urlExpr" class="col-sm-3 control-label"><la:message
 												key="labels.boost_document_rule_url_expr" /></label>
 										<div class="col-sm-9">
+											<la:errors property="urlExpr" />
 											<la:textarea property="urlExpr" styleClass="form-control" rows="5"/>
 										</div>
 									</div>
@@ -58,6 +56,7 @@
 										<label for="boostExpr" class="col-sm-3 control-label"><la:message
 												key="labels.boost_document_rule_boost_expr" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boostExpr" />
 											<la:textarea property="boostExpr" styleClass="form-control" rows="5"/>
 										</div>
 									</div>
@@ -65,6 +64,7 @@
 										<label for="sortOrder" class="col-sm-3 control-label"><la:message
 												key="labels.boost_document_rule_sort_order" /></label>
 										<div class="col-sm-9">
+											<la:errors property="sortOrder" />
 											<la:text property="sortOrder" styleClass="form-control" />
 										</div>
 									</div>

+ 9 - 3
src/main/webapp/WEB-INF/view/admin/dataconfig/admin_dataconfig_edit.jsp

@@ -39,18 +39,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +57,7 @@
 										<label for="handlerName" class="col-sm-3 control-label"><la:message
 												key="labels.handler_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="handlerName" />
 											<la:select property="handlerName" size="1"
 												styleClass="form-control">
 												<c:forEach var="hn" varStatus="s"
@@ -71,6 +71,7 @@
 										<label for="handlerParameter" class="col-sm-3 control-label"><la:message
 												key="labels.handler_parameter" /></label>
 										<div class="col-sm-9">
+											<la:errors property="handlerParameter" />
 											<la:textarea property="handlerParameter"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -79,6 +80,7 @@
 										<label for="handlerScript" class="col-sm-3 control-label"><la:message
 												key="labels.handler_script" /></label>
 										<div class="col-sm-9">
+											<la:errors property="handlerScript" />
 											<la:textarea property="handlerScript"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -87,6 +89,7 @@
 										<label for="boost" class="col-sm-3 control-label"><la:message
 												key="labels.boost" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boost" />
 											<la:text property="boost" styleClass="form-control" />
 										</div>
 									</div>
@@ -94,6 +97,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.role_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="roleTypeIds" />
 											<la:select property="roleTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="rt" varStatus="s" items="${roleTypeItems}">
@@ -106,6 +110,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.label_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="labelTypeIds" />
 											<la:select property="labelTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${labelTypeItems}">
@@ -118,6 +123,7 @@
 										<label for="available" class="col-sm-3 control-label"><la:message
 												key="labels.available" /></label>
 										<div class="col-sm-9">
+											<la:errors property="available" />
 											<la:select property="available" styleClass="form-control">
 												<la:option value="true">
 													<la:message key="labels.enabled" />

+ 9 - 1
src/main/webapp/WEB-INF/view/admin/design/admin_design.jsp

@@ -25,7 +25,7 @@
 						<la:info id="msg" message="true">
 							<div class="alert alert-info">${msg}</div>
 						</la:info>
-						<la:errors />
+						<la:errors property="_global" />
 					</div>
 					<div class="col-md-6">
 						<div class="box box-primary">
@@ -38,6 +38,7 @@
 								<!-- /.box-header -->
 								<div class="box-body">
 									<div class="form-group">
+										<la:errors property="fileName" />
 										<la:select property="fileName" styleClass="form-control">
 											<c:forEach var="item" varStatus="s" items="${fileNameItems}">
 												<la:option value="${item}">${f:h(item)}</la:option>
@@ -49,6 +50,7 @@
 								<div class="box-footer">
 									<button type="submit" class="btn btn-primary" name="download"
 										value="<la:message key="labels.design_download_button" />">
+										<i class="fa fa-download"></i>
 										<la:message key="labels.design_download_button" />
 									</button>
 									<button type="button" class="btn btn-danger" name="delete"
@@ -105,6 +107,7 @@
 								<!-- /.box-header -->
 								<div class="box-body">
 									<div class="form-group">
+										<la:errors property="fileName" />
 										<la:select property="fileName" styleClass="form-control">
 											<la:option value="index">
 												<la:message key="labels.design_file_index" />
@@ -159,11 +162,13 @@
 								<div class="box-footer">
 									<button type="submit" class="btn btn-warning" name="edit"
 										value="<la:message key="labels.design_edit_button" />">
+										<i class="fa fa-pencil"></i>
 										<la:message key="labels.design_edit_button" />
 									</button>
 									<button type="submit" class="btn btn-danger"
 										name="editAsUseDefault"
 										value="<la:message key="labels.design_use_default_button" />">
+										<i class="fa fa-recycle"></i>
 										<la:message key="labels.design_use_default_button" />
 									</button>
 								</div>
@@ -188,6 +193,7 @@
 											class="col-sm-3 form-control-label"><la:message
 												key="labels.design_file" /></label>
 										<div class="col-sm-9">
+											<la:errors property="designFile" />
 											<input type="file" name="designFile" class="form-control" />
 										</div>
 									</div>
@@ -196,6 +202,7 @@
 											class="col-sm-3 form-control-label"><la:message
 												key="labels.design_file_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="designFileName" />
 											<la:text property="designFileName" styleClass="form-control" />
 										</div>
 									</div>
@@ -204,6 +211,7 @@
 								<div class="box-footer">
 									<button type="submit" class="btn btn-success" name="upload"
 										value="<la:message key="labels.design_button_upload" />">
+										<i class="fa fa-upload"></i>
 										<la:message key="labels.design_button_upload" />
 									</button>
 								</div>

+ 9 - 11
src/main/webapp/WEB-INF/view/admin/design/admin_design_edit.jsp

@@ -13,61 +13,59 @@
 			<jsp:param name="menuCategoryType" value="system" />
 			<jsp:param name="menuType" value="design" />
 		</jsp:include>
-
 		<div class="content-wrapper">
-
-			<%-- Content Header --%>
 			<section class="content-header">
 				<h1>
 					<la:message key="labels.design_configuration" />
 				</h1>
 			</section>
-
 			<section class="content">
-
 				<div class="row">
 					<div class="col-md-12">
 						<div>
 							<la:info id="msg" message="true">
 								<div class="alert-message info">${msg}</div>
 							</la:info>
-							<la:errors />
+							<la:errors property="_global" />
 						</div>
 						<div class="box box-primary">
 							<c:if test="${editable}">
 								<la:form action="/admin/design/">
-									<%-- Box Header --%>
 									<div class="box-header with-border">
-										<h3>
+										<h3 class="box-title">
 											<la:message key="labels.design_title_edit_content" />
 										</h3>
 									</div>
-									<%-- Box Body --%>
+									<!-- /.box-header -->
 									<div class="box-body">
 										<h4>${f:h(fileName)}</h4>
 										<div>
+											<la:errors property="content" />
 											<la:textarea property="content" rows="20"
 												styleClass="form-control"></la:textarea>
 										</div>
 									</div>
-									<%-- Box Footer --%>
+									<!-- /.box-body -->
 									<div class="box-footer">
 										<button type="submit" class="btn btn-default" name="back"
 											value="<la:message key="labels.design_button_back" />">
+											<i class="fa fa-arrow-circle-left"></i>
 											<la:message key="labels.design_button_back" />
 										</button>
 										<button type="submit" class="btn btn-warning" name="update"
 											value="<la:message key="labels.design_button_update" />">
+											<i class="fa fa-pencil"></i>
 											<la:message key="labels.design_button_update" />
 										</button>
 									</div>
+									<!-- /.box-footer -->
 									<la:hidden property="fileName" />
 								</la:form>
 							</c:if>
 						</div>
+						<!-- /.box -->
 					</div>
 				</div>
-
 			</section>
 		</div>
 		<jsp:include page="/WEB-INF/view/common/admin/footer.jsp"></jsp:include>

+ 6 - 5
src/main/webapp/WEB-INF/view/admin/dict/kuromoji/admin_dict_kuromoji_edit.jsp

@@ -46,7 +46,6 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<h3 class="box-title">
 										<c:if test="${crudMode == 1}">
@@ -84,20 +83,19 @@
 										</la:link>
 									</div>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="token" class="col-sm-3 control-label"><la:message
 												key="labels.dict_kuromoji_token" /></label>
 										<div class="col-sm-9">
+											<la:errors property="token" />
 											<la:text property="token" styleClass="form-control" />
 										</div>
 									</div>
@@ -105,6 +103,7 @@
 										<label for="segmentation" class="col-sm-3 control-label"><la:message
 												key="labels.dict_kuromoji_segmentation" /></label>
 										<div class="col-sm-9">
+											<la:errors property="segmentation" />
 											<la:text property="segmentation" styleClass="form-control" />
 										</div>
 									</div>
@@ -112,6 +111,7 @@
 										<label for="reading" class="col-sm-3 control-label"><la:message
 												key="labels.dict_kuromoji_reading" /></label>
 										<div class="col-sm-9">
+											<la:errors property="reading" />
 											<la:text property="reading" styleClass="form-control" />
 										</div>
 									</div>
@@ -119,6 +119,7 @@
 										<label for="pos" class="col-sm-3 control-label"><la:message
 												key="labels.dict_kuromoji_pos" /></label>
 										<div class="col-sm-9">
+											<la:errors property="pos" />
 											<la:text property="pos" styleClass="form-control" />
 										</div>
 									</div>

+ 3 - 3
src/main/webapp/WEB-INF/view/admin/dict/synonym/admin_dict_synonym_edit.jsp

@@ -85,18 +85,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="term" class="col-sm-3 control-label"><la:message
 												key="labels.dict_synonym_source" /></label>
 										<div class="col-sm-9">
+											<la:errors property="inputs" />
 											<la:textarea property="inputs" rows="5"
 												styleClass="form-control" />
 										</div>
@@ -105,6 +104,7 @@
 										<label for="outputs" class="col-sm-3 control-label"><la:message
 												key="labels.dict_synonym_target" /></label>
 										<div class="col-sm-9">
+											<la:errors property="outputs" />
 											<la:textarea property="outputs" rows="5"
 												styleClass="form-control" />
 										</div>

+ 4 - 5
src/main/webapp/WEB-INF/view/admin/duplicatehost/admin_duplicatehost_edit.jsp

@@ -34,24 +34,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="regularName" class="col-sm-3 control-label"><la:message
 												key="labels.regular_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="regularName" />
 											<la:text property="regularName" styleClass="form-control" />
 										</div>
 									</div>
@@ -59,6 +57,7 @@
 										<label for="duplicateHostName" class="col-sm-3 control-label"><la:message
 												key="labels.duplicate_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="duplicateHostName" />
 											<la:text property="duplicateHostName" styleClass="form-control" />
 										</div>
 									</div>

+ 6 - 3
src/main/webapp/WEB-INF/view/admin/elevateword/admin_elevateword_edit.jsp

@@ -79,18 +79,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="word" class="col-sm-3 control-label"><la:message
 												key="labels.suggest_elevate_word_suggest_word" /></label>
 										<div class="col-sm-9">
+											<la:errors property="suggestWord" />
 											<la:text property="suggestWord" styleClass="form-control" />
 										</div>
 									</div>
@@ -98,6 +97,7 @@
 										<label for="reading" class="col-sm-3 control-label"><la:message
 												key="labels.suggest_elevate_word_reading" /></label>
 										<div class="col-sm-9">
+											<la:errors property="reading" />
 											<la:text property="reading" styleClass="form-control" />
 										</div>
 									</div>
@@ -105,6 +105,7 @@
 										<label for="targetRole" class="col-sm-3 control-label"><la:message
 												key="labels.suggest_elevate_word_target_role" /></label>
 										<div class="col-sm-9">
+											<la:errors property="targetRole" />
 											<la:text property="targetRole" styleClass="form-control" />
 										</div>
 									</div>
@@ -112,6 +113,7 @@
 										<label for="labelTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.label_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="labelTypeIds" />
 											<la:select property="labelTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${labelTypeItems}">
@@ -124,6 +126,7 @@
 										<label for="boost" class="col-sm-3 control-label"><la:message
 												key="labels.suggest_elevate_word_boost" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boost" />
 											<la:text property="boost" styleClass="form-control" />
 										</div>
 									</div>

+ 9 - 5
src/main/webapp/WEB-INF/view/admin/fileauth/admin_fileauth_edit.jsp

@@ -33,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="hostname" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_hostname" /></label>
 										<div class="col-sm-9">
+											<la:errors property="hostname" />
 											<la:text property="hostname" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +56,7 @@
 										<label for="port" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_port" /></label>
 										<div class="col-sm-9">
+											<la:errors property="port" />
 											<la:text property="port" styleClass="form-control" />
 										</div>
 									</div>
@@ -65,6 +64,7 @@
 										<label for="protocolScheme" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_scheme" /></label>
 										<div class="col-sm-9">
+											<la:errors property="protocolScheme" />
 											<la:select property="protocolScheme"
 												styleClass="form-control">
 												<c:forEach var="item" items="${protocolSchemeItems}">
@@ -77,6 +77,7 @@
 										<label for="username" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_username" /></label>
 										<div class="col-sm-9">
+											<la:errors property="username" />
 											<la:text property="username" styleClass="form-control" />
 										</div>
 									</div>
@@ -84,6 +85,7 @@
 										<label for="password" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_password" /></label>
 										<div class="col-sm-9">
+											<la:errors property="password" />
 											<la:password property="password" styleClass="form-control" />
 										</div>
 									</div>
@@ -91,6 +93,7 @@
 										<label for="parameters" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_parameters" /></label>
 										<div class="col-sm-9">
+											<la:errors property="parameters" />
 											<la:textarea property="parameters" styleClass="form-control"
 												rows="5" />
 										</div>
@@ -99,6 +102,7 @@
 										<label for="fileConfigId" class="col-sm-3 control-label"><la:message
 												key="labels.file_auth_file_crawling_config" /></label>
 										<div class="col-sm-9">
+											<la:errors property="fileConfigId" />
 											<la:select property="fileConfigId" styleClass="form-control">
 												<c:forEach var="item" items="${fileConfigItems}">
 													<la:option value="${f:u(item.value)}">${f:h(item.label)}</la:option>

+ 16 - 3
src/main/webapp/WEB-INF/view/admin/fileconfig/admin_fileconfig_edit.jsp

@@ -39,18 +39,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +57,7 @@
 										<label for="paths" class="col-sm-3 control-label"><la:message
 												key="labels.paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="paths" />
 											<la:textarea property="paths" styleClass="form-control"
 												rows="5" />
 										</div>
@@ -66,6 +66,7 @@
 										<label for="includedPaths" class="col-sm-3 control-label"><la:message
 												key="labels.included_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="includedPaths" />
 											<la:textarea property="includedPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -74,6 +75,7 @@
 										<label for="excludedPaths" class="col-sm-3 control-label"><la:message
 												key="labels.excluded_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="excludedPaths" />
 											<la:textarea property="excludedPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -82,6 +84,7 @@
 										<label for="includedDocPaths" class="col-sm-3 control-label"><la:message
 												key="labels.included_doc_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="includedDocPaths" />
 											<la:textarea property="includedDocPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -90,6 +93,7 @@
 										<label for="excludedDocPaths" class="col-sm-3 control-label"><la:message
 												key="labels.excluded_doc_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="excludedDocPaths" />
 											<la:textarea property="excludedDocPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -98,6 +102,7 @@
 										<label for="configParameter" class="col-sm-3 control-label"><la:message
 												key="labels.config_parameter" /></label>
 										<div class="col-sm-9">
+											<la:errors property="configParameter" />
 											<la:text property="configParameter" styleClass="form-control" />
 										</div>
 									</div>
@@ -105,6 +110,7 @@
 										<label for="depth" class="col-sm-3 control-label"><la:message
 												key="labels.depth" /></label>
 										<div class="col-sm-9">
+											<la:errors property="depth" />
 											<la:text property="depth" styleClass="form-control" />
 										</div>
 									</div>
@@ -112,6 +118,7 @@
 										<label for="maxAccessCount" class="col-sm-3 control-label"><la:message
 												key="labels.max_access_count" /></label>
 										<div class="col-sm-9">
+											<la:errors property="maxAccessCount" />
 											<la:text property="maxAccessCount" styleClass="form-control" />
 										</div>
 									</div>
@@ -119,6 +126,7 @@
 										<label for="numOfThread" class="col-sm-3 control-label"><la:message
 												key="labels.number_of_thread" /></label>
 										<div class="col-sm-9">
+											<la:errors property="numOfThread" />
 											<la:text property="numOfThread" styleClass="form-control" />
 										</div>
 									</div>
@@ -126,6 +134,7 @@
 										<label for="intervalTime" class="col-sm-3 control-label"><la:message
 												key="labels.interval_time" /></label>
 										<div class="form-inline col-sm-9">
+											<la:errors property="intervalTime" />
 											<la:text property="intervalTime" styleClass="form-control" />
 											<la:message key="labels.millisec" />
 										</div>
@@ -134,6 +143,7 @@
 										<label for="boost" class="col-sm-3 control-label"><la:message
 												key="labels.boost" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boost" />
 											<la:text property="boost" styleClass="form-control" />
 										</div>
 									</div>
@@ -141,6 +151,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.role_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="roleTypeIds" />
 											<la:select property="roleTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="rt" varStatus="s" items="${roleTypeItems}">
@@ -153,6 +164,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.label_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="labelTypeIds" />
 											<la:select property="labelTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${labelTypeItems}">
@@ -165,6 +177,7 @@
 										<label for="available" class="col-sm-3 control-label"><la:message
 												key="labels.available" /></label>
 										<div class="col-sm-9">
+											<la:errors property="available" />
 											<la:select property="available" styleClass="form-control">
 												<la:option value="true">
 													<la:message key="labels.enabled" />

+ 3 - 5
src/main/webapp/WEB-INF/view/admin/group/admin_group_edit.jsp

@@ -31,24 +31,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.group_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>

+ 5 - 3
src/main/webapp/WEB-INF/view/admin/keymatch/admin_keymatch_edit.jsp

@@ -38,18 +38,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="term" class="col-sm-3 control-label"><la:message
 												key="labels.key_match_term" /></label>
 										<div class="col-sm-9">
+											<la:errors property="term" />
 											<la:text property="term" styleClass="form-control" />
 										</div>
 									</div>
@@ -57,6 +56,7 @@
 										<label for="query" class="col-sm-3 control-label"><la:message
 												key="labels.key_match_query" /></label>
 										<div class="col-sm-9">
+											<la:errors property="query" />
 											<la:text property="query" styleClass="form-control" />
 										</div>
 									</div>
@@ -64,6 +64,7 @@
 										<label for="maxSize" class="col-sm-3 control-label"><la:message
 												key="labels.key_match_size" /></label>
 										<div class="col-sm-9">
+											<la:errors property="maxSize" />
 											<la:text property="maxSize" styleClass="form-control" />
 										</div>
 									</div>
@@ -71,6 +72,7 @@
 										<label for="boost" class="col-sm-3 control-label"><la:message
 												key="labels.key_match_boost" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boost" />
 											<la:text property="boost" styleClass="form-control" />
 										</div>
 									</div>

+ 7 - 3
src/main/webapp/WEB-INF/view/admin/labeltype/admin_labeltype_edit.jsp

@@ -38,18 +38,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.labeltype_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -57,6 +56,7 @@
 										<label for="paths" class="col-sm-3 control-label"><la:message
 												key="labels.labeltype_value" /></label>
 										<div class="col-sm-9">
+											<la:errors property="value" />
 											<la:text property="value" styleClass="form-control" />
 										</div>
 									</div>
@@ -64,6 +64,7 @@
 										<label for="includedPaths" class="col-sm-3 control-label"><la:message
 												key="labels.labeltype_included_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="includedPaths" />
 											<la:textarea property="includedPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -72,6 +73,7 @@
 										<label for="excludedPaths" class="col-sm-3 control-label"><la:message
 												key="labels.labeltype_excluded_paths" /></label>
 										<div class="col-sm-9">
+											<la:errors property="excludedPaths" />
 											<la:textarea property="excludedPaths"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -80,6 +82,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.role_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="roleTypeIds" />
 											<la:select property="roleTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="rt" varStatus="s" items="${roleTypeItems}">
@@ -92,6 +95,7 @@
 										<label for="sortOrder" class="col-sm-3 control-label"><la:message
 												key="labels.sortOrder" /></label>
 										<div class="col-sm-9">
+											<la:errors property="sortOrder" />
 											<la:text property="sortOrder" styleClass="form-control" />
 										</div>
 									</div>

+ 6 - 6
src/main/webapp/WEB-INF/view/admin/pathmap/admin_pathmap_edit.jsp

@@ -14,7 +14,6 @@
 			<jsp:param name="menuType" value="pathMapping" />
 		</jsp:include>
 		<div class="content-wrapper">
-			<%-- Content Header --%>
 			<section class="content-header">
 				<h1>
 					<la:message key="labels.pathmap_title_details" />
@@ -34,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="regex" class="col-sm-3 control-label"><la:message
 												key="labels.regex" /></label>
 										<div class="col-sm-9">
+											<la:errors property="regex" />
 											<la:text property="regex" styleClass="form-control" />
 										</div>
 									</div>
@@ -59,6 +56,7 @@
 										<label for="replacement" class="col-sm-3 control-label"><la:message
 												key="labels.replacement" /></label>
 										<div class="col-sm-9">
+											<la:errors property="replacement" />
 											<la:text property="replacement" styleClass="form-control" />
 										</div>
 									</div>
@@ -66,6 +64,7 @@
 										<label for="processType" class="col-sm-3 control-label"><la:message
 												key="labels.processType" /></label>
 										<div class="col-sm-9">
+											<la:errors property="processType" />
 											<la:select property="processType" styleClass="form-control">
 												<la:option value="C">
 													<la:message key="labels.pathmap_pt_crawling" />
@@ -83,6 +82,7 @@
 										<label for="sortOrder" class="col-sm-3 control-label"><la:message
 												key="labels.sortOrder" /></label>
 										<div class="col-sm-9">
+											<la:errors property="sortOrder" />
 											<la:text property="sortOrder" styleClass="form-control" />
 										</div>
 									</div>

+ 5 - 5
src/main/webapp/WEB-INF/view/admin/reqheader/admin_reqheader_edit.jsp

@@ -33,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.reqheader_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +56,7 @@
 										<label for="value" class="col-sm-3 control-label"><la:message
 												key="labels.reqheader_value" /></label>
 										<div class="col-sm-9">
+											<la:errors property="value" />
 											<la:text property="value" styleClass="form-control" />
 										</div>
 									</div>
@@ -65,6 +64,7 @@
 										<label for="webConfigId" class="col-sm-3 control-label"><la:message
 												key="labels.reqheader_web_crawling_config" /></label>
 										<div class="col-sm-9">
+											<la:errors property="webConfigId" />
 											<la:select property="webConfigId" styleClass="form-control">
 												<c:forEach var="item" items="${webConfigItems}">
 													<la:option value="${f:u(item.value)}">${f:h(item.label)}</la:option>

+ 3 - 5
src/main/webapp/WEB-INF/view/admin/role/admin_role_edit.jsp

@@ -31,24 +31,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.role_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>

+ 4 - 5
src/main/webapp/WEB-INF/view/admin/roletype/admin_roletype_edit.jsp

@@ -34,24 +34,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.roletype_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -59,6 +57,7 @@
 										<label for="value" class="col-sm-3 control-label"><la:message
 												key="labels.roletype_value" /></label>
 										<div class="col-sm-9">
+											<la:errors property="value" />
 											<la:text property="value" styleClass="form-control" />
 										</div>
 									</div>

+ 11 - 5
src/main/webapp/WEB-INF/view/admin/scheduler/admin_scheduler_edit.jsp

@@ -33,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +56,7 @@
 										<label for="target" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_target" /></label>
 										<div class="col-sm-9">
+											<la:errors property="target" />
 											<la:text property="target" styleClass="form-control" />
 										</div>
 									</div>
@@ -65,6 +64,7 @@
 										<label for="cronExpression" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_cronExpression" /></label>
 										<div class="col-sm-9">
+											<la:errors property="cronExpression" />
 											<la:text property="cronExpression" styleClass="form-control" />
 										</div>
 									</div>
@@ -72,6 +72,7 @@
 										<label for="scriptType" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_scriptType" /></label>
 										<div class="col-sm-9">
+											<la:errors property="scriptType" />
 											<la:text property="scriptType" styleClass="form-control" />
 										</div>
 									</div>
@@ -79,6 +80,7 @@
 										<label for="scriptData" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_scriptData" /></label>
 										<div class="col-sm-9">
+											<la:errors property="scriptData" />
 											<la:textarea property="scriptData" styleClass="form-control"
 												rows="5" />
 										</div>
@@ -87,6 +89,7 @@
 										<label for="jobLogging" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_jobLogging" /></label>
 										<div class="col-sm-9">
+											<la:errors property="jobLogging" />
 											<div class="checkbox">
 												<label> <la:checkbox property="jobLogging" /> <la:message
 														key="labels.enabled" />
@@ -98,6 +101,7 @@
 										<label for="crawler" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_crawler" /></label>
 										<div class="col-sm-9">
+											<la:errors property="crawler" />
 											<div class="checkbox">
 												<label> <la:checkbox property="crawler" /> <la:message
 														key="labels.enabled" />
@@ -109,6 +113,7 @@
 										<label for="available" class="col-sm-3 control-label"><la:message
 												key="labels.scheduledjob_status" /></label>
 										<div class="col-sm-9">
+											<la:errors property="available" />
 											<div class="checkbox">
 												<label> <la:checkbox property="available" /> <la:message
 														key="labels.enabled" />
@@ -120,6 +125,7 @@
 										<label for="sortOrder" class="col-sm-3 control-label"><la:message
 												key="labels.sortOrder" /></label>
 										<div class="col-sm-9">
+											<la:errors property="sortOrder" />
 											<la:text property="sortOrder" styleClass="form-control" />
 										</div>
 									</div>

+ 7 - 5
src/main/webapp/WEB-INF/view/admin/user/admin_user_edit.jsp

@@ -31,24 +31,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.user_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<c:if test="${crudMode==1}">
 												<la:text property="name" styleClass="form-control" />
 											</c:if>
@@ -62,6 +60,7 @@
 										<label for="password" class="col-sm-3 control-label"><la:message
 												key="labels.user_password" /></label>
 										<div class="col-sm-9">
+											<la:errors property="password" />
 											<la:password property="password" styleClass="form-control" />
 										</div>
 									</div>
@@ -69,6 +68,7 @@
 										<label for="confirm_password" class="col-sm-3 control-label"><la:message
 												key="labels.user_confirm_password" /></label>
 										<div class="col-sm-9">
+											<la:errors property="confirmPassword" />
 											<la:password property="confirmPassword"
 												styleClass="form-control" />
 										</div>
@@ -77,6 +77,7 @@
 										<label for="roles" class="col-sm-3 control-label"><la:message
 												key="labels.roles" /></label>
 										<div class="col-sm-9">
+											<la:errors property="roles" />
 											<la:select property="roles" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${roleItems}">
@@ -89,6 +90,7 @@
 										<label for="groups" class="col-sm-3 control-label"><la:message
 												key="labels.groups" /></label>
 										<div class="col-sm-9">
+											<la:errors property="groups" />
 											<la:select property="groups" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${groupItems}">

+ 10 - 5
src/main/webapp/WEB-INF/view/admin/webauth/admin_webauth_edit.jsp

@@ -33,24 +33,22 @@
 						<div class="col-md-12">
 							<div
 								class="box <c:if test="${crudMode == 1}">box-success</c:if><c:if test="${crudMode == 2}">box-warning</c:if>">
-								<%-- Box Header --%>
 								<div class="box-header with-border">
 									<jsp:include page="/WEB-INF/view/common/admin/crud/header.jsp"></jsp:include>
 								</div>
-								<%-- Box Body --%>
+								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="hostname" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_hostname" /></label>
 										<div class="col-sm-9">
+											<la:errors property="hostname" />
 											<la:text property="hostname" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +56,7 @@
 										<label for="port" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_port" /></label>
 										<div class="col-sm-9">
+											<la:errors property="port" />
 											<la:text property="port" styleClass="form-control" />
 										</div>
 									</div>
@@ -65,6 +64,7 @@
 										<label for="authRealm" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_realm" /></label>
 										<div class="col-sm-9">
+											<la:errors property="authRealm" />
 											<la:text property="authRealm" styleClass="form-control" />
 										</div>
 									</div>
@@ -72,6 +72,7 @@
 										<label for="protocolScheme" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_scheme" /></label>
 										<div class="col-sm-9">
+											<la:errors property="protocolScheme" />
 											<la:select property="protocolScheme"
 												styleClass="form-control">
 												<c:forEach var="item" items="${protocolSchemeItems}">
@@ -84,6 +85,7 @@
 										<label for="username" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_username" /></label>
 										<div class="col-sm-9">
+											<la:errors property="username" />
 											<la:text property="username" styleClass="form-control" />
 										</div>
 									</div>
@@ -91,6 +93,7 @@
 										<label for="password" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_password" /></label>
 										<div class="col-sm-9">
+											<la:errors property="password" />
 											<la:password property="password" styleClass="form-control" />
 										</div>
 									</div>
@@ -98,6 +101,7 @@
 										<label for="parameters" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_parameters" /></label>
 										<div class="col-sm-9">
+											<la:errors property="parameters" />
 											<la:textarea property="parameters" styleClass="form-control"
 												rows="5" />
 										</div>
@@ -106,6 +110,7 @@
 										<label for="webConfigId" class="col-sm-3 control-label"><la:message
 												key="labels.webauth_web_crawling_config" /></label>
 										<div class="col-sm-9">
+											<la:errors property="webConfigId" />
 											<la:select property="webConfigId" styleClass="form-control">
 												<c:forEach var="item" items="${webConfigItems}">
 													<la:option value="${f:u(item.value)}">${f:h(item.label)}</la:option>

+ 18 - 4
src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_edit.jsp

@@ -39,18 +39,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message --%>
-									<div>
+									<div class="form-group has-error">
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="name" class="col-sm-3 control-label"><la:message
 												key="labels.name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="name" />
 											<la:text property="name" styleClass="form-control" />
 										</div>
 									</div>
@@ -58,6 +57,7 @@
 										<label for="urls" class="col-sm-3 control-label"><la:message
 												key="labels.urls" /></label>
 										<div class="col-sm-9">
+											<la:errors property="urls" />
 											<la:textarea property="urls" styleClass="form-control"
 												rows="5" />
 										</div>
@@ -66,6 +66,7 @@
 										<label for="includedUrls" class="col-sm-3 control-label"><la:message
 												key="labels.included_urls" /></label>
 										<div class="col-sm-9">
+											<la:errors property="includedUrls" />
 											<la:textarea property="includedUrls"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -74,6 +75,7 @@
 										<label for="excludedUrls" class="col-sm-3 control-label"><la:message
 												key="labels.excluded_urls" /></label>
 										<div class="col-sm-9">
+											<la:errors property="excludedUrls" />
 											<la:textarea property="excludedUrls"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -82,6 +84,7 @@
 										<label for="includedDocUrls" class="col-sm-3 control-label"><la:message
 												key="labels.included_doc_urls" /></label>
 										<div class="col-sm-9">
+											<la:errors property="includedDocUrls" />
 											<la:textarea property="includedDocUrls"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -90,6 +93,7 @@
 										<label for="excludedDocUrls" class="col-sm-3 control-label"><la:message
 												key="labels.excluded_doc_urls" /></label>
 										<div class="col-sm-9">
+											<la:errors property="excludedDocUrls" />
 											<la:textarea property="excludedDocUrls"
 												styleClass="form-control" rows="5" />
 										</div>
@@ -98,6 +102,7 @@
 										<label for="configParameter" class="col-sm-3 control-label"><la:message
 												key="labels.config_parameter" /></label>
 										<div class="col-sm-9">
+											<la:errors property="configParameter" />
 											<la:text property="configParameter" styleClass="form-control" />
 										</div>
 									</div>
@@ -105,6 +110,7 @@
 										<label for="depth" class="col-sm-3 control-label"><la:message
 												key="labels.depth" /></label>
 										<div class="col-sm-9">
+											<la:errors property="depth" />
 											<la:text property="depth" styleClass="form-control" />
 										</div>
 									</div>
@@ -112,6 +118,7 @@
 										<label for="maxAccessCount" class="col-sm-3 control-label"><la:message
 												key="labels.max_access_count" /></label>
 										<div class="col-sm-9">
+											<la:errors property="maxAccessCount" />
 											<la:text property="maxAccessCount" styleClass="form-control" />
 										</div>
 									</div>
@@ -119,6 +126,7 @@
 										<label for="userAgent" class="col-sm-3 control-label"><la:message
 												key="labels.user_agent" /></label>
 										<div class="col-sm-9">
+											<la:errors property="userAgent" />
 											<la:text property="userAgent" styleClass="form-control" />
 										</div>
 									</div>
@@ -126,6 +134,7 @@
 										<label for="numOfThread" class="col-sm-3 control-label"><la:message
 												key="labels.number_of_thread" /></label>
 										<div class="col-sm-9">
+											<la:errors property="numOfThread" />
 											<la:text property="numOfThread" styleClass="form-control" />
 										</div>
 									</div>
@@ -133,6 +142,7 @@
 										<label for="intervalTime" class="col-sm-3 control-label"><la:message
 												key="labels.interval_time" /></label>
 										<div class="form-inline col-sm-9">
+											<la:errors property="intervalTime" />
 											<la:text property="intervalTime" styleClass="form-control" />
 											<la:message key="labels.millisec" />
 										</div>
@@ -141,6 +151,7 @@
 										<label for="boost" class="col-sm-3 control-label"><la:message
 												key="labels.boost" /></label>
 										<div class="col-sm-9">
+											<la:errors property="boost" />
 											<la:text property="boost" styleClass="form-control" />
 										</div>
 									</div>
@@ -148,6 +159,7 @@
 										<label for="roleTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.role_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="roleTypeIds" />
 											<la:select property="roleTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="rt" varStatus="s" items="${roleTypeItems}">
@@ -160,6 +172,7 @@
 										<label for="labelTypeIds" class="col-sm-3 control-label"><la:message
 												key="labels.label_type" /></label>
 										<div class="col-sm-9">
+											<la:errors property="labelTypeIds" />
 											<la:select property="labelTypeIds" multiple="true"
 												styleClass="form-control">
 												<c:forEach var="l" varStatus="s" items="${labelTypeItems}">
@@ -172,6 +185,7 @@
 										<label for="available" class="col-sm-3 control-label"><la:message
 												key="labels.available" /></label>
 										<div class="col-sm-9">
+											<la:errors property="available" />
 											<la:select property="available" styleClass="form-control">
 												<la:option value="true">
 													<la:message key="labels.enabled" />

+ 5 - 4
src/main/webapp/WEB-INF/view/admin/wizard/admin_wizard_config.jsp

@@ -38,19 +38,17 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message: BEGIN --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert-message info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Message: END --%>
-									<%-- Form Fields --%>
 									<div class="form-group">
 										<label for="crawlingConfigName" class="col-sm-3 control-label"><la:message
 												key="labels.wizard_crawling_config_name" /></label>
 										<div class="col-sm-9">
+											<la:errors property="crawlingConfigName" />
 											<la:text property="crawlingConfigName"
 												styleClass="form-control" />
 										</div>
@@ -59,6 +57,7 @@
 										<label for="crawlingConfigPath" class="col-sm-3 control-label"><la:message
 												key="labels.wizard_crawling_config_path" /></label>
 										<div class="col-sm-9">
+											<la:errors property="crawlingConfigPath" />
 											<la:text property="crawlingConfigPath"
 												styleClass="form-control" />
 										</div>
@@ -67,6 +66,7 @@
 										<label for="maxAccessCount" class="col-sm-3 control-label"><la:message
 												key="labels.maxAccessCount" /></label>
 										<div class="col-sm-9">
+											<la:errors property="maxAccessCount" />
 											<la:text property="maxAccessCount" styleClass="form-control" />
 										</div>
 									</div>
@@ -74,6 +74,7 @@
 										<label for="depth" class="col-sm-3 control-label"><la:message
 												key="labels.depth" /></label>
 										<div class="col-sm-9">
+											<la:errors property="depth" />
 											<la:text property="depth" styleClass="form-control" />
 										</div>
 									</div>

+ 1 - 3
src/main/webapp/WEB-INF/view/admin/wizard/admin_wizard_start.jsp

@@ -39,14 +39,12 @@
 								</div>
 								<!-- /.box-header -->
 								<div class="box-body">
-									<%-- Message: BEGIN --%>
 									<div>
 										<la:info id="msg" message="true">
 											<div class="alert alert-info">${msg}</div>
 										</la:info>
-										<la:errors />
+										<la:errors property="_global" />
 									</div>
-									<%-- Message: END --%>
 									<p class="span8">
 										<la:message key="labels.wizard_start_crawling_desc" />
 									</p>

+ 9 - 0
src/main/webapp/css/admin/style.css

@@ -47,6 +47,15 @@
 	width: 100%;
 }
 
+label.has-error {
+	color: #dd4b39 !important;
+}
+
+.form-group .has-error + .form-control {
+	border-color: #dd4b39 !important;
+	box-shadow: none;
+}
+
 #result ol {
 	list-style: none !important;
 	padding-left: 0;

+ 2 - 1
src/main/webapp/js/admin/admin.js

@@ -1,6 +1,7 @@
 $(function() {
-	$('input[type="text"],select', '.login-box,section.content').first()
+	$('input[type="text"],select,textarea', '.login-box,section.content').first()
 			.focus();
+	$('.form-group .has-error').first().next('input,select,textarea').focus();
 
 	$("section.content input").keypress(function(e) {
 		if (e.which == 13) {