我按照本教程创建了一个包含Loopback和AngularJs的项目。 https://github.com/strongloop/loopback-example-angular
现在,我有一个应用程序:
模型“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中的某些内容无效,我会从后端收到错误。所以一切都很好。
现在,我想在将模型发送到后端之前使用该模型执行客户端验证,并在引导控件上添加一些“错误类”。
在发送到后端之前,我在$ scope.save函数中尝试了一些东西:
if ($scope.device.isValid()) {
console.log("IsValid");
} else {
console.log("Not Valid");
}
但我得到一个例外“未定义不是函数” - > isValid()不存在。 我找不到任何关于如何执行此客户端验证的示例。
答案 0 :(得分:2)
LoopBack模型是不受影响的,因此不提供开箱即用的客户端验证。在调用$ save之前,您应该使用Angular验证机制。