我需要动态验证AngularJS中的json。 我正面临从架构到页面加载字段的问题。 我是AngularJS的新手,所以我不太了解它。 我创建了表单,但我无法动态验证它。
myApp.controller('appController', ['$scope','$http', function($scope, $http) {
var NUMBER_REGEXP = /^[0-9]+$/;
$http({ method: 'GET', url: 'JsonSchema.json' })
.then(function successCallback(response) {
$scope.data = angular.fromJson(response);
$scope.data = $scope.data.data;
console.log($scope.data);
});
$scope.greeting = 'success!';
$scope.handleErrors = function (data) {
if(data !== undefined && data !== null) {
angular.forEach(data, function(value, key) {
var form = value.form.field;
var fields = value.fields.field;
var error = form.errors;
if(form.compulsory) {
$scope.pageError = form.errors.compulsory;
}
else if(!(NUMBER_REGEXP.test(filds.field))) {
$scope.pageError = error.regex;
}
else {
$scope.pageError = "An unexpected error has occurred, please try again later!";
}
});
}
}
}]);
答案 0 :(得分:0)
一个plunker通常可以解决这类问题,但最终它取决于您使用哪个库来使用JSON Schema进行验证?
我使用AngularJS Schema Form,因此一旦加载了JSON Schema,您就可以在范围上将其设置为分配给要提供架构的表单的值。然后,这将验证表单或在验证之前等待用户输入。