Я очень новичок в AngularJS, и в настоящее время я работаю над формой, разработанной в angularjs.
Моя задача - проверить ввод текстового поля со списком. Если значение, введенное в текстовое поле, отсутствует в списке, оно должно выдать ошибку проверки.
Я написал следующие строки кода для получения элементов списка через API отдыха:
app.factory("EatonScanningFactory", ['$http', function($http) {
var EatonScanningFactoryObj = {};
EatonScanningFactoryObj.GetToolMaxTimeList = function (columnName) {
return $http({
method: 'GET',
url: _spPageContextInfo.webAbsoluteUrl
+ "/_api/web/lists/getbytitle('Tool%20Max%20Time')/Items/"
+ "?$select=Text,Value&$orderby=Text&$filter=Title eq '" + columnName + "'",
headers: { "Accept": "application/json;odata=verbose" }
});
}
Он вернет элементы списка в массив. Нижеследующие строки кода предназначены для вызова вызываемой функции:
var getToolId = EatonScanningFactory.GetToolMaxTimeList('ToolNumber');
var getMaxLife = EatonScanningFactory.GetToolMaxTimeList('MaxLife');
Я не могу продолжить дальше, так как не уверен, как проверить, доступен ли мой текстовый блок в списке или нет.
Пожалуйста помоги
Привет, вот пример правдоподобного решения:
$scope.list = EatonScanningFactory.GetToolMaxTimeList('MaxLife');
Javascript (родной) Пример:
function validateList() {
var IsInList = false;
for (var i = 0; i < $scope.list.length; i++) {
if ($("#textbox").val() == $scope.list[i].listvalue) {
IsInList = true;
break;
}
}
return IsInList;
}
Угловой пример:
$scope.validateFunction = function() {
angular.forEach($scope.list, function(value, key){
var IsInList = false;
if($("#textbox").val() == value.listvalue) {
IsInList = true;
break;
}
});
return IsInList;
}
//Invoke the function like follow:
$scope.validateFunction();