环回、AngularJS 和验证
Loopback, AngularJS and validation
我按照本教程创建了一个带有 Loopback 和 AngularJs 的项目。 https://github.com/strongloop/loopback-example-angular
现在,我有一个应用程序:
- HTML 个文件(Bootstrap)
- AngularJS 控制器
- AngularJS 服务(使用语法 lb-ng server/server.js client/js/services/lb-services.js 生成)
- 模型(位于 ./common 文件夹中)
- MongoDB后端
模型"Device"定义在./common/models/device.js
module.exports = function(Device) {
};
并在./common/models/device.json
{
"name": "Device",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"name": {
"type": "string",
"required": true
},
"description": {
"type": "string",
"required": true
},
"category": {
"type": "string",
"required": true
},
"initialDate": {
"type": "date"
},
"initialPrice": {
"type": "number",
"required": true
},
"memory": {
"type": "number"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
在 "AddDeviceController" 中,我有一个初始化部分:
$scope.device = new DeviceToBuy({
name: '',
description: '',
category: '',
initialPrice: 0,
memory: 8
initialDate: Date.now()
});
而且我可以在执行以下方法时保存 $scope.device:
$scope.save = function() {
Device.create($scope.device)
.$promise
.then(function() {
console.log("saved");
$scope.back(); // goto previous page
}, function (error) {
console.log(JSON.stringify(error));
});
}
当一切都有效时,模型被保存在后台。如果 $scope.device 中的某些内容无效,我会从后端收到错误消息。所以一切正常。
现在,我想在将我的模型发送到后端之前使用该模型执行客户端验证,并在 bootstrap 控件上放置一些 "error-class"。
在发送到后端之前,我在 $scope.save 函数中尝试了一些东西:
if ($scope.device.isValid()) {
console.log("IsValid");
} else {
console.log("Not Valid");
}
但我遇到异常 "undefined is not a function" --> isValid() 不存在。
而且我找不到任何关于如何执行此客户端验证的示例。
LoopBack 模型没有意见,因此不提供开箱即用的客户端验证。在调用 $save.
之前,你应该使用 Angular 验证机制
我按照本教程创建了一个带有 Loopback 和 AngularJs 的项目。 https://github.com/strongloop/loopback-example-angular
现在,我有一个应用程序:
- HTML 个文件(Bootstrap)
- AngularJS 控制器
- AngularJS 服务(使用语法 lb-ng server/server.js client/js/services/lb-services.js 生成)
- 模型(位于 ./common 文件夹中)
- MongoDB后端
模型"Device"定义在./common/models/device.js
module.exports = function(Device) {
};
并在./common/models/device.json
{
"name": "Device",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"name": {
"type": "string",
"required": true
},
"description": {
"type": "string",
"required": true
},
"category": {
"type": "string",
"required": true
},
"initialDate": {
"type": "date"
},
"initialPrice": {
"type": "number",
"required": true
},
"memory": {
"type": "number"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
在 "AddDeviceController" 中,我有一个初始化部分:
$scope.device = new DeviceToBuy({
name: '',
description: '',
category: '',
initialPrice: 0,
memory: 8
initialDate: Date.now()
});
而且我可以在执行以下方法时保存 $scope.device:
$scope.save = function() {
Device.create($scope.device)
.$promise
.then(function() {
console.log("saved");
$scope.back(); // goto previous page
}, function (error) {
console.log(JSON.stringify(error));
});
}
当一切都有效时,模型被保存在后台。如果 $scope.device 中的某些内容无效,我会从后端收到错误消息。所以一切正常。
现在,我想在将我的模型发送到后端之前使用该模型执行客户端验证,并在 bootstrap 控件上放置一些 "error-class"。
在发送到后端之前,我在 $scope.save 函数中尝试了一些东西:
if ($scope.device.isValid()) {
console.log("IsValid");
} else {
console.log("Not Valid");
}
但我遇到异常 "undefined is not a function" --> isValid() 不存在。 而且我找不到任何关于如何执行此客户端验证的示例。
LoopBack 模型没有意见,因此不提供开箱即用的客户端验证。在调用 $save.
之前,你应该使用 Angular 验证机制