Я пишу простую форму входа с помощью angularjs с некоторой проверкой ввода на стороне клиента, чтобы проверить, что имя пользователя и пароль не пусты и длиннее трех символов. См. Приведенный ниже код:
<form name="loginform" novalidate ng-submit="login.submit()" class="css-form">
    <fieldset>
        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-user"></i></span>
            <input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" />
        </div>
        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-lock"></i></span>
            <input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" />
        </div>
        <div class="control-group">
            <input class="btn" type="submit" value="Log in">
        </div>
    </fieldset>
</form>
И контроллер:
var controller = function($scope) {
    $scope.login = {
        submit: function() {
            Console.info($scope.login.username + ' ' + $scope.login.password);
        }
    }
};
Проблема в том, что функция login.submit будет вызываться, даже если вход недействителен. Возможно ли предотвратить это поведение?
В качестве побочного примечания я могу упомянуть, что я также использую bootstrap и requirejs.
