javascript - 防止为 angularjs 页面运行表单验证

标签 javascript angularjs

我的网络应用程序上有一个简单的表单,要求输入用户名和密码。我使用了标准的 angularjs 验证。

但是当我加载页面时,验证消息会立即出现。不知道这是为什么。我在下面有我的最终表单标记

 <div ng-controller="LoginCtrl">
    <form name ="loginForm" novalidate>
        <div class="input-group" style="margin-left:100px;">
            <input id="username" type="text" name="username" ng-model="user.name" class="form-control" placeholder="Username" required>
            <span class="alert-danger" ng-show="loginForm.username.$error.required">Username is required.</span>
            <input id="password "type="password" name="password" ng-model="user.password" class="form-control" placeholder="Password" required>
            <span class="alert-danger" ng-show="loginForm.password.$error.required">Password is required.</span>
        </div>
        <input class="btn btn-lg btn-success" type="submit" id="submit" value="Login" ng-click="loginUser()" />
        <pre>Username={{list}}</pre>
    </form>
</div>

有什么想法吗?

最佳答案

您需要让 Angular 知道不要显示消息,除非 $pristine 值消失(或 $dirty 存在)这些特殊变量被注入(inject) AngularJS形式让它知道某些事件已经发生。

例如,以下面的代码为例进行调整:

<span class="alert-danger" ng-show="loginForm.username.$error.required && loginForm.username.$dirty">Username is required.</span>
<span class="alert-danger" ng-show="loginForm.password.$error.required && loginForm.password.$dirty">Password is required.</span>

关于javascript - 防止为 angularjs 页面运行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20940623/

相关文章:

javascript - jQuery 每个函数用于特定 ul 和 li 标签下的所有图像

javascript - 用jquery替换html页面中的单词或单词中的某些字符

javascript - Angular : Population of Radio button groups in loop(ng-repeat) - selection not working

javascript - angular js 在 watch 语句中恢复范围属性的更改

javascript - 移动环境中的网站桌面模式

javascript - 这个jquery有什么问题?

javascript - 动态创建的 HTML 表格行无法正常工作

javascript - Angular-formly:为什么指令的行为与类型不同?

javascript - 使用Protractor,如何选择具有唯一类的div并测试它是否显示?

javascript - 如何在 angularjs 中使用工厂在 GPS 检测器函数内部使用 $http.post 方法时获取回调响应