From 86a407cd3fcbefb16b00ea9ef10bd80f2b0e0a0f Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 30 Dec 2013 17:03:43 +0000
Subject: [PATCH] #333 feature - Added form validation in catalog page
---
securis/src/main/resources/static/admin.html | 34 ++++++++++++++++++++++++++--------
1 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/securis/src/main/resources/static/admin.html b/securis/src/main/resources/static/admin.html
index fa8b84c..ada0461 100644
--- a/securis/src/main/resources/static/admin.html
+++ b/securis/src/main/resources/static/admin.html
@@ -36,8 +36,18 @@
opacity: 0;
}
-input.ng-invalid-maxlength {
+input.ng-invalid, textarea.ng-invalid {
border: solid 1px red;
+}
+
+input.ng-dirty.ng-valid, textarea.ng-dirty.ng-valid {
+ border: solid 1px green;
+}
+
+.alert.inline-alert {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin-bottom: 5px;
}
</style>
@@ -111,20 +121,28 @@
</div>
</nav>
<div class="panel panel-default animate-show ng-hide" ng-show="showForm">
- <form role="form" class="form-horizontal " name="licenseForm">
+ <form role="form" class="form-horizontal " name="catalogForm" id="catalogForm" ng-submit="saveCatalog()" >
+ <pre>Form: {{catalogForm | json}}</pre>
+ <pre>formu: {{formu | json}}</pre>
<div class="form-group" ng-repeat="field in catalogMetadata.fields" ng-if="!isNew || !field.readOnly">
<label class="col-md-3 control-label" for="{{field.name}}">{{field.display}}</label>
<div class="col-md-5">
- <input ng-if="!field.readOnly && !field.multiline" type="{{field.type}}" id="{{field.name}}" name="{{field.name}}" placeholder=""
- class="form-control" ng-model="formu[field.name]" ng-required="field.mandatory" ng-maxlength="20" />
- <textarea ng-if="!field.readOnly && field.multiline" type="{{field.type}}" id="{{field.name}}" name="{{field.name}}" placeholder=""
- class="form-control" ng-model="formu[field.name]" rows="{{field.multiline}}" ng-required="field.mandatory" ng-maxlength="field.maxlength" ></textarea>
+ <input catalog-field ng-if="!field.readOnly && !field.multiline" type="{{field.type}}" id="{{field.name}}" name="{{field.name}}" placeholder=""
+ class="form-control" ng-model="formu[field.name]" ng-required="field.mandatory" ng-maxlength="{{field.maxlength}}" />
+ <textarea catalog-field ng-if="!field.readOnly && field.multiline" type="{{field.type}}" id="{{field.name}}" name="{{field.name}}" placeholder=""
+ class="form-control" ng-model="formu[field.name]" rows="{{field.multiline}}" ng-required="field.mandatory" ng-maxlength="{{field.maxlength}}"></textarea>
<p ng-if="field.readOnly" class="form-control-static">{{formu[field.name]}}</p>
+
+ <div class="alert inline-alert alert-warning" ng-show="catalogForm[field.name].$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="catalogForm[field.name].$error.maxlength">{{field.display}} length is too long (max: {{field.maxlength}}).<br/></span>
+ <span ng-show="catalogForm[field.name].$error.required">{{field.display}} is required.</span>
+ </div>
</div>
</div>
<div class="form-group">
- <div class="col-md-offset-3 col-md-10">
- <button type="submit" class="btn btn-primary">
+ <div class="col-md-offset-3 col-md-10" id="saveContainer">
+ <button id="save" type="submit" class="btn btn-primary" >
<span class="glyphicon glyphicon-floppy-disk"></span> Save
</button>
</div>
--
Gitblit v1.3.2