RT# 21110 Unparsable age error. Added javascript to validate field prior to submittin...
authorroot <root@debian8-7-1>
Fri, 17 Feb 2017 14:37:06 +0000 (09:37 -0500)
committerroot <root@debian8-7-1>
Fri, 17 Feb 2017 14:37:06 +0000 (09:37 -0500)
httemplate/edit/elements/edit.html
httemplate/edit/process/part_event.html
httemplate/elements/footer.html

index a002338..3eb75f8 100644 (file)
@@ -240,6 +240,7 @@ Example:
 
 % my $url = $opt{'post_url'} || popurl(1)."process/$table.html";
 
 
 % my $url = $opt{'post_url'} || popurl(1)."process/$table.html";
 
+% $js_form_validate = { 'edit_topform' => { 'name' => 'edit_topform', 'errormessage' => 'Please only numeric characters ' } };
   <FORM NAME   = "edit_topform"
         METHOD = POST
         ACTION = "<% $url %>"
   <FORM NAME   = "edit_topform"
         METHOD = POST
         ACTION = "<% $url %>"
@@ -408,6 +409,12 @@ Example:
 %     $include_common{'layer_prefix'} = "$field$fieldnum."
 %       if $layer_prefix_on;
 %
 %     $include_common{'layer_prefix'} = "$field$fieldnum."
 %       if $layer_prefix_on;
 %
+%     ## set conditionname field values for validation.
+%     if ($field eq 'conditionname') { 
+%       my $validate_field = $field . $fieldnum . '.after_event.run_delay';
+%       $js_form_validate->{edit_topform}{$validate_field} = 'numeric';
+%     }
+%
 %     my @include = 
 %     ( "/elements/$include.html",
 %         'field'      => "$field$fieldnum",
 %     my @include = 
 %     ( "/elements/$include.html",
 %         'field'      => "$field$fieldnum",
@@ -834,7 +841,11 @@ Example:
         : $opt{'html_foot'}
   %>
 
         : $opt{'html_foot'}
   %>
 
-  <% include("/elements/footer.html") %>
+% my %footerdata = (
+%   'formvalidation' => $js_form_validate,
+% );  
+
+  <% include("/elements/footer.html", %footerdata) %>  
 
 % }
 <%init>
 
 % }
 <%init>
@@ -852,6 +863,8 @@ my $fields = $opt{'fields'}
              || [ grep { $_ ne $pkey } fields($table) ];
 #my @actualfields = map { ref($_) ? $_->{'field'} : $_ } @$fields;
 
              || [ grep { $_ ne $pkey } fields($table) ];
 #my @actualfields = map { ref($_) ? $_->{'field'} : $_ } @$fields;
 
+my $js_form_validate = {};
+
 my( $mode, $object);
 my $clone = '';
 if ( $opt{'embed'} ) {
 my( $mode, $object);
 my $clone = '';
 if ( $opt{'embed'} ) {
index 4d52e7b..467d69a 100644 (file)
@@ -40,6 +40,7 @@
                                            };
                                 } elsif ( $info->{'type'} eq 'freq' ) {
                                   $value = '0' if !length($value) and !$info->{'allow_blank'};
                                            };
                                 } elsif ( $info->{'type'} eq 'freq' ) {
                                   $value = '0' if !length($value) and !$info->{'allow_blank'};
+                                  $value = '0' if $value =~ /[^\d]/;
                                   $value .= $params->{$cgi_field.'_units'} if length($value);
                                 }
 
                                   $value .= $params->{$cgi_field.'_units'} if length($value);
                                 }
 
index 32d1219..3eaa233 100644 (file)
@@ -1,5 +1,40 @@
         </TD>
       </TR>
     </TABLE>
         </TD>
       </TR>
     </TABLE>
+
+%  if ($opt{'formvalidation'}) { 
+%    my $form_validation = $opt{'formvalidation'};
+%    foreach my $name (sort keys $form_validation) {
+%      my $form = $form_validation->{$name}; 
+    <script>
+      var validator = new FormValidator('<% $name %>', [
+%      foreach my $field (sort keys $form) {      
+        {
+          name: '<%  $field %>',
+          rules: 'numeric'
+        },
+%      }
+      ], 
+          function(errors) { 
+            if (errors.length > 0) { 
+              for (var i = 0; i<= errors.length; i++) {
+                alert ('<% $form_validation->{$name}->{errormessage} %>');
+                  //alert ('<% $form_validation->{$name}->{errormessage} %>' + errors[i].message);
+                return false;
+              }
+            }
+            return true;
+          }
+  );
+    </script>
+%    } 
+%  }
+
   </BODY>
 </HTML>
   </BODY>
 </HTML>
+
+<%init>
+
+my(%opt) = @_; 
+
+</%init>
\ No newline at end of file