Разделенный шлюз и маска в угловом входе - PullRequest
0 голосов
/ 04 июня 2018

У меня есть поле ввода IP-шлюза и маски в этой форме __.__.__.__/__.Я хочу разделить ввод маски, который следует после / в другой модели для привязки, чтобы это было так:

{
"Gateway" : "10.20.30.40",
"Mask": "23"
}

Как я могу вырезать значение после /__ для маски. Настройка IP-адреса:

$("#IP").inputmask({ /
    mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]/99",
    definitions: {
        'i': {
            validator: function (chrs, buffer, pos, strict, opts) {
                if (pos - 1 > -1 && buffer[pos - 1] != ".") {
                chrs = buffer[pos - 1] + chrs;
                    if (pos - 2 > -1 && buffer[pos - 2] != ".") {
                    chrs = buffer[pos - 2] + chrs;
                        } else chrs = "0" + chrs;
                        } else chrs = "00" + chrs;
                        return new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs);
                        },
                        cardinality: 1
                    }
        }
});

РЕДАКТИРОВАТЬ: - добавлен вид и контроллер

<div class="input-group sepH_b">    
            <span class="input-group-addon" id="reg_input">Gateway</span>
          <input class="form-control" id="IP" type="text" ng-model="inf.Gateway" required>
</div>

In Ctrl

$scope.master = {};
$scope.addData = function() { 
$scope.master = angular.copy($scope.inf);
};

master{} - это место, где данные связываются.

1 Ответ

0 голосов
/ 07 июня 2018
  1. Не используйте jquery с angularJS

  2. Почему бы не создать другую модель, которая будет более читабельной для других. Проверьте этот планер .Добавьте необходимые проверки соответственно.Вам не нужно писать дополнительный код для извлечения mask, и любой может получить доступ к port1, port2 и т. Д. Свойствам в соответствии с их требованиями.

Примерно так:

  $scope.gateway = {
    port1 : 0,
    port2:  0,
    port3 : 0,
    port4: 0
  };
  $scope.mask = 0
...