2016-09-16 7 views
-2

Я использую необходимый атрибут из проверки HTML5. У меня нет идеи, почему форма все еще отправляется, хотя html5 проверяет пустое поле ввода.Вход требуется, но форма по-прежнему отправляется

Вот ссылка Plunker. http://plnkr.co/edit/evh0fCD5hdyoXXuxJrUy

<form name="searchUser" ng-submit="search(username)" validation> 
<input type="search" placeholder="Username" ng-minlength="1" ng-model="username" required/> 
<input type="submit" value="search" ng-click="search(username)" /> 
</form> 
+1

Вы 'нг-click' событие на submit, который вызывает 'search()', поэтому, конечно, он будет отправлен без проверки. Кроме того, что такое атрибут 'validation', который у вас есть на вашем'

'? – Ronnie

ответ

1

Конечно, представит, требуемый атрибут будет только инициировать проверки в поле, оно не остановить представить. Для этой работы вы должны сделать что-то вроде этого:

if($scope.searchUser.$valid){ 
      $http.get("https://api.github.com/users/" + username) 
        .then(onUserComplete, onError); 

        $scope.user = null; 
    } 

Ниже plnkr:

http://plnkr.co/edit/XznoWH71arlV5RaDLJsd?p=preview

Надеется, что это помогает =)

Смежные вопросы