2013-12-13 1 views
2

Проверка правильности подсвечивается, но когда я нажимаю кнопку «Отправить», даже с пустым полем формы, форма все еще отображается (и значение ника не определено)пустое поле формы по-прежнему отправляется при использовании проверки угловой формы

Я попробовал добавить novalidate к форме - но это не помогло.

<form class="nick" ng-submit="joinChat()"> 
     <input type="text" required name="nick" ng-model="nick" ng-minlength="2" ng-maxlength="10"> 
     <button>Join</button> 
    </form> 

Я пытаюсь следовать этому руководству здесь: http://www.ng-newsletter.com/posts/validations.html

joinChat() функция не делает никакой проверки. По моему мнению, это не обязательно при использовании проверки угловой формы.

$scope.joinChat = function(){ 
     socket.emit('chat:join', { nick: $scope.nick }); 
    }; 
+0

Hii .. Если я дать 'действие =» «' в форме, angularjs валидация не работает. У вас есть решение для этого? – phpfresher

+0

нет необходимости в 'action', если вы используете' ng-submit' – chovy

+0

Hii @chovy ... thnx для ответа на ур ... но у меня снова возникла новая проблема ... его работа отлично, если я удалю действие = "" 'но форма не отправляется ... в чем проблема ??? – phpfresher

ответ

3

Неверный ввод не мешает угловую форму представления, вместо того, чтобы попробовать это:

<form class="nick" novalidate ng-submit="joinChat()" name="myform"> 
    <input type="text" ng-required="true" name="nick" ng-model="nick" ng-minlength="2" ng-maxlength="10"> 
    <button ng-disabled="myform.$invalid">Join</button> 
</form> 

Fiddle

+1

Что делает 'новальдат' на форме? – chovy

+0

предотвращает проверку браузера по умолчанию и позволяет проверять угловую обработку – karaxuna

+0

ok, также у меня есть '', но я получаю [Object object] в качестве значения. Я изменил 'name' на' user.nick', но я не знаю, правильно это или если это даже необходимо. – chovy

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