Подтвердить что ты не робот

Как получить маскам даты в модели от ввода в angular с помощью ui-mask?

У меня есть представление, которое требует, чтобы пользователь вводил дату рождения в текстовое поле.

Я использую директиву маски из UI-Utils.

В моем представлении есть этот элемент ввода:

<input ui-mask="99/99/9999" placeholder="MM/DD/YYYY" type="text" name="uBirthdate" ng-model="user.birthdate" required/>

и в моем контроллере у меня есть область, настроенная как

myApp.controller('HomeCtrl', function ($scope, myService){

    $scope.user = registerService.getCurrentUser();

    $scope.submit = function () {
        //do something with $scope.user.birthdate
    };

    }
});

Моя проблема в том, что в моем контроллере свойство birthdate содержит значение от входа БЕЗ маскирующих символов, поэтому вход

11/20/1980 в представлении становится 11201980 как свойство в $scope

Как я могу убедиться, что у меня есть действительная дата маскировки для работы с моим контроллером? Только FYI, эта дата будет отправлена ​​как JSON в запросе POST на мой сервер.

4b9b3361

Ответ 1

Обновите до последнего angular -ui и используйте следующий синтаксис

ui-mask="99/99/9999" model-view-value="true"

Значение model-view будет сохранять маску на объекте модели.

Ответ 3

как строка:

var string = '11201980';
var month = string.substring(0,2);
var day = string.substring(2,4);
var year = string.substring(4,8);
var birthday = month + '/' + day + '/' + year;

затем, в качестве даты:

var birthdate = new Date(birthday);