как показать ошибку проверки при вводе пользователем неверного формата даты при нажатии кнопки? - PullRequest
0 голосов
/ 02 ноября 2018

есть ли способ показать сообщение об ошибке проверки, или граница станет красной, когда пользователь введет неверный формат даты? редактируйте это поле только в этом формате (это допустимо), если пользователь вводит неверный формат Я хочу показать сообщение об ошибке при нажатии кнопки или граница станет красной при нажатии кнопки вот мой код http://plnkr.co/edit/xoTH3uJZSVx0W78rwhMt?p=preview

var app = angular.module('plunker', ['angularMoment']);

app.controller('MainCtrl', function($scope ,moment) {
  $scope.name = 'World';
  console.log(moment)
  var d = new Date(613938600000);
  $scope.c = {
   ab: {
      name:'abc'
    },
   date: {
      name: moment(d).format('DD-MMM-YYYY')
    }
    };

    $scope.onclick =function(){
        console.log($scope.c)
    }

});

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Хотя на это уже есть ответ. Вы также можете быть заинтересованы в том, чтобы указывать дату именно так, как вы хотите. Проверка в принятом ответе не является строгой: Это должно исправить это:

$scope.onclick = function() {
    if (!moment($scope.c.date.name, 'DD-MMM-YYYY').isValid()) {
      alert('Date must be in the format 02-Nov-2018');
    } else {
      alert('All good');
    }
}

Второй аргумент функции moment обеспечивает эту строгость.

0 голосов
/ 02 ноября 2018

Поскольку вы уже используете момент, проверьте, является ли дата действительной:

moment($scope.c.date.name).isValid()

Рабочий пример здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...