Javascript 是否有更干净的方法使用AngularJS验证从CSV文件导入的数据?
我能够从personController.js中的CSV文件创建Person对象列表。我想对这个对象列表进行一些基本验证,然后向用户显示哪些人是有效的,哪些人是无效的(可能在网格中),然后再将他们提交给服务器进行其他验证 目前,我做了如下工作:Javascript 是否有更干净的方法使用AngularJS验证从CSV文件导入的数据?,javascript,angularjs,validation,csv,angular-ui-router,Javascript,Angularjs,Validation,Csv,Angular Ui Router,我能够从personController.js中的CSV文件创建Person对象列表。我想对这个对象列表进行一些基本验证,然后向用户显示哪些人是有效的,哪些人是无效的(可能在网格中),然后再将他们提交给服务器进行其他验证 目前,我做了如下工作: app.controller('PersonController', ['$scope', '$log', '$modal', 'person', 'personValidation', 'refData', function ($scope, $log
app.controller('PersonController', ['$scope', '$log', '$modal', 'person', 'personValidation', 'refData', function ($scope, $log, $modal, personSvc, personValidationSvc, refDataSvc) {
$scope.validateImportedPersons = function (data) {
// data is a list of Persons
$q.all([
refDataSvc.getAreaCodes(),
refDataSvc.getZipCodes()
// possibly more reference data to retrieve
]).then(function(refData) {
personSvc.validatePerson(refData, data);
},
function(error) {
// TODO: throw some error
});
};
}]);
有没有比做$q.all更好的方法?我可以将其移动到UI路由器的解析部分,但是如何构造refData服务,以便可以像常规列表而不是服务一样检索数据?我是否有两组函数,一组用于承诺,将填充服务中的变量并返回承诺,另一组用于返回变量?您没有在任何地方捕获
refDataSvc
的输出。我可以通过执行refData[0]和refData[1]来引用结果。我的问题是,因为引用数据来自服务器,所以我发出http请求,这意味着我将返回承诺。但是如何编写refData服务以避免使用$q?