使用angularjs中的数组列表验证文本框输入

时间:2016-08-17 06:30:07

标签: angularjs validation

我是AngularJS的新手,目前我正在开发一个以angularjs设计的表单。

我的任务是使用列表验证文本框输入。如果在文本框中输入的值不在列表中,则应该抛出验证错误。

我编写了以下代码行,用于通过rest 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');

我无法继续进行,因为我不知道如何确认我的文本框输入是否在列表中可用。

请帮忙

1 个答案:

答案 0 :(得分:1)

您好,这里有一个合理的解决方案作为示例

insert into statement

Javascript(原生)示例:

$scope.list = EatonScanningFactory.GetToolMaxTimeList('MaxLife');

角度示例:

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;
}