当输入验证失败时,Angularjs阻止表单提交

前端之家收集整理的这篇文章主要介绍了当输入验证失败时,Angularjs阻止表单提交前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写一个简单的登录表单使用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以及。

你可以做:
<form name="loginform" novalidate ng-submit="loginform.$valid && login.submit()">

不需要控制器检查。

猜你在找的Angularjs相关文章