@mynameyourname

Как правильно на angular сделать валидацию поля?

Есть поле ввода, если пользователь вводит в него значение, которое уже есть в базе, то и прописываю:
$scope.requiredName = false;
$scope.uniqueName = true;

Если же вводит текст, а потом удаляет его, тогда пишу:
$scope.requiredName = true;
$scope.uniqueName = false;

Изменение значения поля смотрю так
$scope.$watch('currentUser.username'
А как сделать так, чтобы сообщение с ошибкой "News is required" появлялось после того, как пользователь щёлкнет курсором на поле и затем щёлкнет в любое место на странице (не вводя при этом и не удаляя ничего в поле)?
<div>
    <input type="text" placeholder="Username" class="form-control" ng-model="currentUser.username" name="name" />
    <span class="error text-small block" ng-if="Form.name.$dirty && requiredName">News is required</span>
    <span class="error text-small block" ng-if="Form.name.$dirty && uniqueName">News is not unique</span>
</div>
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
might
@might
javascript developer
ng-blur="yourFunction()"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Изменение значения поля стоит смотреть через ng-change (дока по ng-change).
Чтобы модель обновлялась только на блюре - можно задать кастомный ng-model-options (дока по ng-model-options).
Для валидации стоит использовать стандартные фишки ангуляра для форм, вот тут можно о них почитать:
дока про формы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы