当前位置: 首页 > 知识库问答 >
问题:

Angularjs验证:要求列表中至少有一个输入

杨甫
2023-03-14

我试图使用Angularjs验证来在列表中至少有一个输入被填写时启用按钮。我所做的工作类似于下面的w3schools示例:

<head>
    <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>

<body>
    <h2>Validation Example</h2>

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

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

        <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>
        <input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid || myForm.email.$dirty && myForm.email.$invalid>"
        </p>

    </form>

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

</body>
<div name="address" ng-model="address" required>
<input name="address1" ng-model="address1">
<input name="address2" ng-model="address2">

用角验证做这件事的最好方法是什么?

共有1个答案

阎安邦
2023-03-14

ng-required指令可以帮助您满足类似条件的需求。

例如:

<div name="addresses">
  <input name="address1" ng-model="address1" ng-required="!address2">
  <input name="address2" ng-model="address2" ng-required="!address1">
</div>
 类似资料:
  • 我有一个表单,其中至少一个输入必须包含数据,因此我使用以下命令禁用提交,直到至少一个输入包含数据: 这是控制器: 问题是,我不能在字段上使用,因为只有一个字段是必需的,因此我从未将类添加到输入中,因此,尽管两个字段都可能为空,并且我有一个禁用的提交按钮,但如果两个字段都为空,我希望添加一个类。 有没有一种方法可以将一个类添加到字段中,如果它们都被触动了,但都是空的?顺便说一句,它们是在页面加载时预

  • 问题内容: 给定一个简单的html形式,如下所示: 如果至少有一项输入为空,我需要您的帮助来知道如何检查验证时间。所需的验证如下。用户必须至少完成一个首选项。 使用jQuery的这: 可以,但是想弄清楚如何使用angular来做同样的事情。 非常感谢 吉列尔莫 问题答案: 因此,想法是如果所有输入均为空白,则禁用提交按钮。你可以这样 是强制转换为值。并且和都被评估为。

  • 我有一个带有一组相关复选框的ASP.NET webform。我想验证当单击提交按钮时,组中至少选中了一个复选框。我尝试过实现两种不同的解决方案,但都没有成功。当我尝试按类名返回选中复选框的长度时,收到0。当我尝试按名称返回ischecked值时,收到false。如果我查看页面的源,复选框具有“checked”属性。有人能检查我的html,让我知道我做错了什么吗?

  • 我有这个OpenAPI模式: 所有属性都是必需的。这是用于<code>PUT/user/profile<code>的。 我会把它改成 。用户发送的参数只是他们只请求更改。系统验证至少需要一个参数。 我如何描述[用户名,电子邮件,描述,个人资料_图标]之一是必需的? 可接受的示例请求: 不可接受的示例(错误): 注释器很接近,但它似乎仅适用于模式,而不是属性。 https://swagger.io/

  • 问题内容: 有没有一种方法可以使用此处定义的注释来定义Hibernate验证规则,说明至少一个字段不能为null? 这将是一个假设的示例(实际上不存在): 在所示的情况下,fieldA可以为null或fieldB可以为null,但不能同时为两者。 一种方法是创建自己的验证器,但是我想避免它已经存在。如果您已经验证过,请分享一个验证人…谢谢! 问题答案: 我终于写了整个验证器: 用法示例:

  • 问题内容: 在此代码构造中: 是否可以要求至少包含一个这样的条目,以便在编译时检查?(当然,在运行时,我只能检查numbers.length。) 显然,我可以这样做: 但这不会很优雅。 我这样做的原因是要确保子类不会根本不忘记调用此构造函数,默认情况下,该构造函数将调用列表中没有数字的。在这种情况下,我想获得熟悉的错误消息:。 是否可以有另一种方法来实现相同的目标,例如将此构造函数标记为非隐式的@