Browse Source

Merge pull request #624 from kw-udon/issue-592

#592 Pattern attribute in edit form
Shinsuke Sugaya 9 years ago
parent
commit
66bc33c165

+ 4 - 6
src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java

@@ -1101,16 +1101,14 @@ public interface FessProp {
     public default List<String> invalidIndexDateFields(final Map<String, Object> source) {
     public default List<String> invalidIndexDateFields(final Map<String, Object> source) {
         return stream(getIndexAdminDateFields().split(",")).get(
         return stream(getIndexAdminDateFields().split(",")).get(
                 stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
                 stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
-                        .filter(s -> !validateDateTimeString((String) source.get(s))).collect(Collectors.toList()));
+                        .filter(s -> !validateDateTimeString(source.get(s))).collect(Collectors.toList()));
     }
     }
 
 
-    public default boolean validateDateTimeString(final String str) {
-        try {
-            FessFunctions.parseDate(str);
+    public default boolean validateDateTimeString(final Object obj) {
+        if (FessFunctions.parseDate(obj.toString()) != null) {
             return true;
             return true;
-        } catch (Exception e) {
-            return false;
         }
         }
+        return false;
     }
     }
 
 
     String getIndexAdminIntegerFields();
     String getIndexAdminIntegerFields();

+ 19 - 9
src/main/webapp/WEB-INF/view/admin/searchlist/admin_searchlist_edit.jsp

@@ -115,6 +115,7 @@
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.boost" />
 											<la:errors property="doc.boost" />
 											<la:text property="doc.boost" styleClass="form-control"
 											<la:text property="doc.boost" styleClass="form-control"
+												pattern="\d+(\.\d*)?" title="Floating point number"
 												required="required" />
 												required="required" />
 										</div>
 										</div>
 									</div>
 									</div>
@@ -245,7 +246,7 @@
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.content_length" />
 											<la:errors property="doc.content_length" />
 											<la:text property="doc.content_length"
 											<la:text property="doc.content_length"
-												styleClass="form-control" />
+												styleClass="form-control" pattern="\d+" title="Integer" />
 										</div>
 										</div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
@@ -267,43 +268,52 @@
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.favorite_count" />
 											<la:errors property="doc.favorite_count" />
 											<la:text property="doc.favorite_count"
 											<la:text property="doc.favorite_count"
-												styleClass="form-control" />
+												styleClass="form-control" pattern="\d+" title="Integer" />
 										</div>
 										</div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
 										<label for="click_count" class="col-sm-3 control-label">click_count</label>
 										<label for="click_count" class="col-sm-3 control-label">click_count</label>
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.click_count" />
 											<la:errors property="doc.click_count" />
-											<la:text property="doc.click_count" styleClass="form-control" />
+											<la:text property="doc.click_count" styleClass="form-control"
+												pattern="\d+" title="Integer"/>
 										</div>
 										</div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
 									    <label for="created" class="col-sm-3 control-label">created</label>
 									    <label for="created" class="col-sm-3 control-label">created</label>
 									    <div class="col-sm-9">
 									    <div class="col-sm-9">
 										<la:errors property="doc.created" />
 										<la:errors property="doc.created" />
-										<la:text property="doc.created" styleClass="form-control" />
-									    </div>
+											<la:text property="doc.created" styleClass="form-control"
+												pattern="\d\d\d\d\-\d\d\-\d\dT\d\d\:\d\d\:\d\d\.\d\d\dZ"
+												title="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" />
+										</div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
 										<label for="timestamp" class="col-sm-3 control-label">timestamp</label>
 										<label for="timestamp" class="col-sm-3 control-label">timestamp</label>
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.timestamp" />
 											<la:errors property="doc.timestamp" />
-											<la:text property="doc.timestamp" styleClass="form-control" />
+											<la:text property="doc.timestamp" styleClass="form-control"
+												pattern="\d\d\d\d\-\d\d\-\d\dT\d\d\:\d\d\:\d\d\.\d\d\dZ"
+												title="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" />
 										</div>
 										</div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
 									    <label for="last_modified" class="col-sm-3 control-label">last_modified</label>
 									    <label for="last_modified" class="col-sm-3 control-label">last_modified</label>
 									    <div class="col-sm-9">
 									    <div class="col-sm-9">
 										<la:errors property="doc.last_modified" />
 										<la:errors property="doc.last_modified" />
-										<la:text property="doc.last_modified"
-											 styleClass="form-control" />
+											<la:text property="doc.last_modified"
+												styleClass="form-control"
+												pattern="\d\d\d\d\-\d\d\-\d\dT\d\d\:\d\d\:\d\d\.\d\d\dZ"
+												title="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" />
 									    </div>
 									    </div>
 									</div>
 									</div>
 									<div class="form-group">
 									<div class="form-group">
 										<label for="expires" class="col-sm-3 control-label">expires</label>
 										<label for="expires" class="col-sm-3 control-label">expires</label>
 										<div class="col-sm-9">
 										<div class="col-sm-9">
 											<la:errors property="doc.expires" />
 											<la:errors property="doc.expires" />
-											<la:text property="doc.expires" styleClass="form-control" />
+											<la:text property="doc.expires" styleClass="form-control"
+												pattern="\d\d\d\d\-\d\d\-\d\dT\d\d\:\d\d\:\d\d\.\d\d\dZ"
+												title="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" />
 										</div>
 										</div>
 									</div>
 									</div>
 								</div>
 								</div>