Я следовал этому руководству, чтобы создать проект с Loopback и AngularJs. https://github.com/strongloop/loopback-example-angularLoopback, AngularJS и проверка
Теперь у меня есть приложение с:
- HTML файлов (с Bootstrap)
- AngularJS контроллеров
- AngularJS служба (генерируется с синтаксисом фунт-нг/сервер server.js клиент/JS /services/lb-services.js)
- модели (находится в папке ./common)
- MongoDB бэкэндом
модель "Устройство" определяется в ./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() не существует. И я не могу найти пример того, как выполнить эту проверку на стороне клиента.
Что такое 'isValid()' function? где вы его устанавливаете? – PSL
Здесь я нашел документацию, указывающую, что модель (Устройство) наследует некоторые функции. Http://docs.strongloop.com/display/public/LB/Basic+model+object – hugoterelle