Salome HOME
Validation of the screens' input fields are implemented.
[tools/siman.git] / Workspace / Siman / WebContent / jsp / editKnowledge.jsp
index 5aa5f603d0b553ba8853a1df1bd8f4cf5cb6369c..80979a22c0741ad0e2f970564ece97fe1da3c855 100644 (file)
@@ -9,6 +9,21 @@
 <%@ page import="org.splat.simer.AbstractOpenObject"%>
 <%@ page import="org.splat.simer.OpenStudy"%>
 <%@ page import="org.splat.simer.KnowledgeElementFacade"%>
+
+<script language="JavaScript">
+    //Knowledge value validation
+    $(document).ready(function() {
+        $('#setKnowledge').submit(function(event) {
+            field = document.getElementById('hdnknowledgeValue');
+            document.getElementById('knowledgeValueErrorMessage').style.display = 'none';
+            if(field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
+                event.preventDefault();
+                document.getElementById('knowledgeValueErrorMessage').style.display = 'table-row';
+            }
+        });
+    });
+</script>
+
 <%!
     private enum Action { addKnowledge, renameKnowledge, editKnowledge };
 %><%
@@ -21,8 +36,8 @@
 %>
 <s:url id="undo" namespace="/study" action="step-study"></s:url>
 
+<s:form name="edit" action="setKnowledge" method="post" validate="true" cssClass="text">
 <input type=hidden name=knowledgeType value="<%=typenumber%>"/>
-<table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
 <%
     for (Iterator<AbstractOpenObject.KnowledgeIterator> knowtypes = knowlist.iterator(); knowtypes.hasNext(); ) {
        AbstractOpenObject.KnowledgeIterator type = knowtypes.next();
       List<KnowledgeElementFacade> knowelms = type.getKnowledgeElements();
       for (Iterator<KnowledgeElementFacade> iterator = knowelms.iterator(); iterator.hasNext(); ) {
         KnowledgeElementFacade kelm = iterator.next();
+        if (kelm.getIndex().equals(typenumber)) {
+%>          <tr id="knowledgeValueErrorMessage" style="display: none">
+              <td align="center" colspan="2" class="errorMessage">
+                <s:property value='%{getText("message.error.noenteredvalue", "-", getText("field.knowledgevalue"))}'/> 
+              </td>
+            </tr>
+<%      }
 %>
   <tr height=20 valign=top>
 
     <td>
 <%      if (kelm.getPresentationState().equals("open")) {
 %>          <img src="<s:url value="/skin/image.hold.gif"/>" border="none" width=18 height=12/>
-<%      }%> <table cellpadding=0 cellspacing=0 border=0>
-              <tr>
-<%
+<%      }
         if (todo == Action.renameKnowledge && kelm.getIndex().equals(typenumber)) {
-%>              <td width=18>
-                  <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
-                </td>
-                <td>
-                  <input type=text size="35" name=knowledgeTitle value="<%=kelm.getTitle()%>" />
-                  <button type="submit" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
-                    <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
-                  </button>
-                </td>
-<%      } else
-             if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
-%>              <td width=18>
-                  <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
-                </td>
-                <td><%=kelm.getTitle()%></td>
+%>          
+            <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
+            <s:set var="kelmTitle"><%=kelm.getTitle()%></s:set>
+            <s:textfield size="35" name="knowledgeTitle" value="%{kelmTitle}" theme="simple"/>
+            <button type="submit" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
+            <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
+            </button>
+<%      } else if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
+%>          
+            <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
+               <%=kelm.getTitle()%>
 <%      } else {
-%>              <td width=18>
-                  <s:set var="path">/skin/icon.<%=kelm.getProgressState()%>.png</s:set>
-                  <img src="<s:url value="%{#path}"/>" width=14 height=14 border="none" title=""/>
-                </td>
-                <td><%=kelm.getTitle()%></td>
+%>          
+            <s:set var="path">/skin/icon.<%=kelm.getProgressState()%>.png</s:set>
+            <img src="<s:url value="%{#path}"/>" width=14 height=14 border="none" title=""/>
+            <%=kelm.getTitle()%>
 <%      }
-%>            </tr>
-            </table>
+%>            
     </td>
 
 <!--    Value
       }
       if (todo == Action.addKnowledge && type.getIndex().equals(typenumber)) {
 %>  <tr height=5><td></td></tr>
+    <tr id="knowledgeValueErrorMessage" style="display: none">
+      <td align="center" colspan="2" class="errorMessage">
+        <s:property value='%{getText("message.error.noenteredvalue", "-", getText("field.knowledgevalue"))}'/> 
+      </td>
+    </tr>
     <tr valign=top>
       <td>
-        <table cellpadding=0 cellspacing=0 border=0>
-          <tr>
-            <td width=18>
-              <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
-            </td>
-            <td><input type=text size="35" name=knowledgeTitle></td>
-          </tr>
-        </table>
+        <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
+        <s:textfield size="35" name="knowledgeTitle" theme="simple"/>
       </td>
       <td>
         <script language='JavaScript' type='text/javascript'>
 <%    }
     }
 %>  <tr height=30 valign=middle><td></td></tr>
-
-</table>
\ No newline at end of file
+</s:form>
\ No newline at end of file