Skip to content

Commit ad34357

Browse files
author
javaage
committed
validate
1 parent 1500498 commit ad34357

15 files changed

Lines changed: 354 additions & 134 deletions

File tree

helloworld-springboot/src/main/UI/src/css/common.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ input.ng-valid{
1515
border: 1px solid green;
1616
}
1717

18+
.error{
19+
color: #a94442;
20+
}
21+
1822
ul{
1923
margin:0;
2024
padding: 0;

helloworld-springboot/src/main/UI/src/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
66

7-
<title>Learning Assistant5 </title>
7+
<title>Learning Assistant</title>
88
<!-- STYLES -->
99
<!-- build:css lib/css/main.min.css -->
1010
<link rel="stylesheet" type="text/css" href="components/bootstrap/dist/css/bootstrap.min.css">
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
angular
2+
.module('RDash')
3+
.directive('account', ['$http','$q', '$timeout', 'app.environments','app.services',function($http, $q, $timeout,environments,services) {
4+
return {
5+
scope: true,
6+
require: 'ngModel',
7+
link: function(scope, elm, attrs, ctrl) {
8+
var url = environments.services.customService.url;
9+
10+
ctrl.$asyncValidators.account = function(modelValue, viewValue) {
11+
12+
if (ctrl.$isEmpty(modelValue) || scope.isModify) {
13+
return $q.resolve();
14+
}
15+
16+
var deferred = $q.defer();
17+
var urlCheck = services.urlFormat(url.checkUser,modelValue);
18+
$http.get(urlCheck,{})
19+
.success(function(data){
20+
console.log(data);
21+
if (data.code == 1 && data.data) {
22+
deferred.resolve(data);
23+
} else {
24+
deferred.reject(data);
25+
}
26+
})
27+
.error(function(error){
28+
deferred.reject(error);
29+
});
30+
31+
return deferred.promise;
32+
};
33+
}
34+
};
35+
}])
36+
.directive('budgetvalid', ['$http','$q', '$timeout', 'app.environments','app.services',function($http, $q, $timeout,environments,services) {
37+
return {
38+
scope: true,
39+
require: 'ngModel',
40+
link: function(scope, elm, attrs, ctrl) {
41+
scope.$watch(attrs.ngModel,function(value,oldValue){
42+
43+
if(attrs.ngModel == 'user.budget')
44+
scope.user.budget = value;
45+
else if(attrs.ngModel == 'user.balance')
46+
scope.user.balance = value;
47+
48+
if(scope.user.budget != null && scope.user.balance != null){
49+
if(scope.user.balance > scope.user.budget){
50+
scope.userForm.budget.$setValidity('budgetvalid', false);
51+
scope.userForm.balance.$setValidity('budgetvalid', false);
52+
}else{
53+
scope.userForm.budget.$setValidity('budgetvalid', true);
54+
scope.userForm.balance.$setValidity('budgetvalid', true);
55+
}
56+
}else{
57+
scope.userForm.budget.$setValidity('budgetvalid', true);
58+
scope.userForm.balance.$setValidity('budgetvalid', true);
59+
}
60+
});
61+
}
62+
};
63+
}])
64+
;

helloworld-springboot/src/main/UI/src/js/common/app.environments.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
getUser: '/api/user/{0}',
3333
getUserList: '/api/user/list',
3434
deleteUser: '/api/user/{0}',
35+
checkUser: '/api/user/check/{0}',
3536
addUser: '/api/user',
3637
updateUser: '/api/user',
3738
getRole: '/api/role/{0}',

helloworld-springboot/src/main/UI/src/js/common/app.services.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,25 @@ angular
119119
return deferred.promise;
120120
};
121121

122+
this.checkUser = function(id){
123+
var deferred = $q.defer();
124+
var urlCheck = this.urlFormat(url.checkUser,id);
125+
$http.get(urlCheck,{})
126+
.success(function(data){
127+
console.log(data);
128+
if (data.code == 1) {
129+
deferred.resolve(data);
130+
} else {
131+
deferred.reject(data);
132+
}
133+
})
134+
.error(function(error){
135+
deferred.reject(error);
136+
});
137+
138+
return deferred.promise;
139+
}
140+
122141
this.getRoleList = function(){
123142
var deferred = $q.defer();
124143
$http.get(url.getRoleList,{})

helloworld-springboot/src/main/UI/src/js/controllers/employee-ctrl.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function EmployeeCtrl($rootScope, $scope, $log,$uibModal, services,NgTableParams
6666
user.active = true;
6767
services.updateUser(user).then(function(result) {
6868
if (result.code == 1) {
69-
//alert("success");
69+
7070
}
7171
}, function (error) {
7272
console.log(error);
@@ -104,6 +104,23 @@ function OperateUserCtrl($scope, $log,$uibModalInstance, services) {
104104
$uibModalInstance.dismiss();
105105
};
106106

107+
$scope.checkUserID = function(id){
108+
services.checkUser(id).then(function(result) {
109+
if (result.code == 1) {
110+
if(result.data == true){
111+
$scope.userForm.id.$setValidity('acountvalid', true);
112+
$scope.userForm.id.$invalid = false;
113+
114+
}else{
115+
$scope.userForm.id.$setValidity('acountvalid', false);
116+
$scope.userForm.id.$invalid = true;
117+
}
118+
}
119+
}, function (error) {
120+
console.log(error);
121+
});
122+
}
123+
107124
$scope.submitUserData = function(){
108125
if($scope.isModify){
109126
services.updateUser($scope.user).then(function(result) {

helloworld-springboot/src/main/UI/src/templates/employee.html

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,39 @@ <h3 ng-if="isModify">Update User</h3>
4040
<div class="form-group">
4141
<label for="inputSpark" class="col-sm-4 control-label">Spark Account*</label>
4242
<div class="col-sm-8">
43-
<input type="email" name="id" ng-model="user.id" class="form-control" id="inputSpark" placeholder="Spark Account e.g. robot@ge.com" required>
43+
<input type="email" name="id" ng-model="user.id" ng-disabled="isModify" class="form-control" id="inputSpark" placeholder="Spark Account e.g. robot@cisco.com" required ng-blur="checkUserID(user.id)">
44+
<span class="error" ng-show="userForm.id.$dirty && userForm.id.$error.required">Spark account is required. </span>
45+
<span class="error" ng-show="userForm.id.$error.acountvalid">Invalid Spark account. </span>
4446
</div>
4547
</div>
4648
<div class="form-group">
4749
<label for="inputName" class="col-sm-4 control-label">Name*</label>
4850
<div class="col-sm-8">
49-
<input type="text" ng-model="user.name" class="form-control" id="inputName" placeholder="Name" required>
51+
<input type="text" name="name" ng-model="user.name" class="form-control" id="inputName" placeholder="Name" required>
52+
<span class="error" ng-show="userForm.name.$dirty && userForm.name.$error.required">Name is required. </span>
5053
</div>
5154
</div>
5255
<div class="form-group">
5356
<label for="inputBudget" class="col-sm-4 control-label">Budget*</label>
5457
<div class="col-sm-8">
55-
<input type="number" ng-model="user.budget" class="form-control" id="inputBudget" placeholder="Budget" required>
58+
<input type="number" name="budget" ng-model="user.budget" class="form-control" id="inputBudget" placeholder="Budget" required budgetvalid>
59+
<span class="error" ng-show="userForm.budget.$dirty && userForm.budget.$error.required">Budget is required. </span>
60+
<span class="error" ng-show="userForm.budget.$error.budgetvalid">Budget should be greater than balance. </span>
5661
</div>
5762
</div>
5863
<div class="form-group">
5964
<label for="inputBalance" class="col-sm-4 control-label">Balance*</label>
6065
<div class="col-sm-8">
61-
<input type="number" ng-model="user.balance" class="form-control" id="inputBalance" placeholder="Balance" required>
66+
<input type="number" name="balance" ng-model="user.balance" class="form-control" id="inputBalance" placeholder="Balance" required budgetvalid>
67+
<span class="error" ng-show="userForm.balance.$dirty && userForm.balance.$error.required">Balance is required. </span>
68+
<span class="error" ng-show="userForm.balance.$error.budgetvalid">Budget should be greater than balance. </span>
6269
</div>
6370
</div>
6471
<div class="form-group">
6572
<label for="inputBU" class="col-sm-4 control-label">BU*</label>
6673
<div class="col-sm-8">
67-
<input type="text" ng-model="user.bu" class="form-control" id="inputBU" placeholder="BU" required>
74+
<input type="text" name="bu" ng-model="user.bu" class="form-control" id="inputBU" placeholder="BU" required>
75+
<span class="error" ng-show="userForm.bu.$dirty && userForm.bu.$error.required">BU is required. </span>
6876
</div>
6977
</div>
7078
<div class="form-group">
@@ -75,13 +83,7 @@ <h3 ng-if="isModify">Update User</h3>
7583
ng-options="role.id as role.roleName for role in roles">
7684
<option value="">Please choose one role...</option>
7785
</select>
78-
<!--
79-
<input type="text" ng-model="user.roleName" class="form-control" id="inputRole" placeholder="Role" required>
80-
81-
<select id="slt_role" ng-model="user.roleID" class="form-control" >
82-
<option value="">Please choose one role...</option>
83-
<option ng-repeat="role in roles" value="{{role.id}}">{{role.roleName}}</option>
84-
</select>-->
86+
8587
</div>
8688
</div>
8789
<div class="form-group">
@@ -99,7 +101,7 @@ <h3 ng-if="isModify">Update User</h3>
99101
</form>
100102
</div>
101103
<div class="modal-footer">
102-
<button type="submit" class="btn btn-default" ng-click="submitUserData()">Submit</button>
104+
<button type="submit" class="btn btn-default" ng-click="submitUserData()" ng-disabled="userForm.id.$invalid || userForm.name.$invalid ||userForm.budget.$invalid || userForm.balance.$invalid || userForm.bu.$invalid">Submit</button> <!-- -->
103105
<button type="cancel" class="btn btn-default" ng-click="closeUserModal()">Cancel</button>
104106
</div>
105107
</script>

helloworld-springboot/src/main/java/com/cisco/la/Application.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
@SpringBootApplication
3434
public class Application {
3535
public enum Env {
36-
local, gehc, beta, alpha, bj, diliu, test, security
36+
local, alpha, prod
3737
};
3838

3939
public final static Logger logger = LoggerFactory.getLogger(Application.class);

helloworld-springboot/src/main/java/com/cisco/la/controller/UserController.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,23 @@ public Object getUser(HttpServletRequest request, @PathVariable("id") String id)
6767
public Object checkUserID(HttpServletRequest request, @PathVariable("id") String id){
6868
try{
6969
boolean result = true;
70+
String message = "Successfully.";
7071
if(Application.envCurrent != Env.local){
7172
result = messageService.checkSparkPeople(id);
73+
if(result){
74+
UserModel userModel = userService.getUserByID(id);
75+
if(userModel==null){
76+
result = false;
77+
message = "Spark account already exist.";
78+
}
79+
}else{
80+
message = "Invalid Spark account.";
81+
}
7282
}
7383

7484
Map<String, Object> map = new HashMap<String, Object>();
7585
map.put("code", 1);
76-
map.put("message", "Successfully");
86+
map.put("message", message);
7787
map.put("data", result);
7888
return map;
7989
} catch (Exception e) {

helloworld-springboot/src/main/webapp/css/common.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ input.ng-invalid {
1010
input.ng-valid {
1111
border: 1px solid green;
1212
}
13+
.error {
14+
color: #a94442;
15+
}
1316
ul {
1417
margin: 0;
1518
padding: 0;

0 commit comments

Comments
 (0)