首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS表单验证未按预期工作

AngularJS表单验证未按预期工作
EN

Stack Overflow用户
提问于 2017-07-13 18:05:48
回答 2查看 42关注 0票数 0

下面的代码(取自W3Schools)在我为submit按钮添加对ng-disabled指令的额外检查时不起作用。我也想使用"myForm.email.$untouched“,这样当有人立即进入页面并且字段为空时,提交按钮将被禁用。但当我添加它时,我必须单击某个地方,然后才会启用该按钮。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<body>

    <h2>Validation Example</h2>

    <form ng-app="myApp" ng-controller="validateCtrl" name="myForm" novalidate>

        <p>Email:
            <br>
            <input type="email" name="email" ng-model="email" required>
            <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
    <span ng-show="myForm.email.$error.required">Email is required.</span>
            <span ng-show="myForm.email.$error.email">Invalid email address.</span>
            </span>
        </p>

        <p>
            <button ng-disabled="myForm.email.$dirty && myForm.email.$invalid">Absenden</button>
        </p>

    </form>

    <script>
        var app = angular.module('myApp', []);
        app.controller('validateCtrl', function($scope) {
            $scope.user = 'John Doe';
            $scope.email = '';
        });
    </script>

</body>

</html>

我想把代码改成这样,但它不起作用(必须单击某个地方):

代码语言:javascript
复制
<p>
<button
ng-disabled="myForm.email.$untouched || myForm.email.$dirty && myForm.email.$invalid">Absenden</button>
</p>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-13 18:14:17

你必须改变

代码语言:javascript
复制
<p>
<button
ng-disabled="myForm.email.$untouched || myForm.email.$dirty && myForm.email.$invalid">Absenden</button>
</p>

代码语言:javascript
复制
<p>
<button
ng-disabled="myForm.email.$dirty && myForm.email.$invalid || myForm.email.$pristine">Absenden</button>
</p>
票数 1
EN

Stack Overflow用户

发布于 2017-07-13 18:13:27

尝试此条件

代码语言:javascript
复制
<p>
    <button ng-disabled="myForm.email.$touched && myForm.email.$dirty && myForm.email.$invalid">Absenden</button>
</p>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45077492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档