Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs验证:要求列表中至少有一个输入_Javascript_Html_Angularjs_Validation - Fatal编程技术网

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

Javascript Angularjs验证:要求列表中至少有一个输入,javascript,html,angularjs,validation,Javascript,Html,Angularjs,Validation,我试图使用Angularjs验证来启用一个按钮,当列表中至少有一个输入被填写时。我所做的工作类似于以下示例: 验证示例 用户名: 用户名是必需的。 电子邮件: 电子邮件是必需的。 无效的电子邮件地址。 要求他们在以下某个字段中输入内容: ng-disabled="!user && !email" ng required指令可以帮助您满足类似条件的需求 例如: <div name="addresses"> <input name="address

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


验证示例
用户名:
用户名是必需的。

电子邮件:
电子邮件是必需的。 无效的电子邮件地址。


要求他们在以下某个字段中输入内容:

ng-disabled="!user && !email"
ng required指令可以帮助您满足类似条件的需求

例如:

<div name="addresses">
  <input name="address1" ng-model="address1" ng-required="!address2">
  <input name="address2" ng-model="address2" ng-required="!address1">
</div>

对于这种情况,我会使用
ng required

<input ng-required="mustBeFilled()" ng-model="myModel" />
<input ng-required="mustBeFilled()" ng-model="myOtherModel" />
因此,一旦一个输入被填充,就不需要输入了,使用require可以控制一些功能,比如使用表单中的类来显示消息

对于提交按钮,您可以添加

ng-disabled="formName.$invalid"
请尝试下面的代码


姓名:

以下是我解决问题的方法,包括验证。当然,如果需要,ng模式是可选的。谢谢你的帖子

var myApp=angular.module('myApp',[]);
myApp.controller('MainController',['$scope',
职能($范围){
$scope.checkSubmit=函数(){
如果($scope.myform.$valid){
//如果只有一个号码可用,则也应有效
警报('表格有效…');
}
}
}
]);

流动电话:*
主页:*
请至少输入一个电话号码。
提交

Mobile->{{myform.Mobile.$valid}}-{{myform.Mobile.$error}
Home->{{myform.mobile.$valid}}-{{myform.mobile.$error}
我发现了一个类似的问题:这并不适用于所有情况,特别是当选中和取消选中复选框时,模块不会同时更改
<input ng-required="mustBeFilled()" ng-model="myModel" />
<input ng-required="mustBeFilled()" ng-model="myOtherModel" />
$scope.mustBeFilled = function () {
  if($scope.myModel.length || $scope.otherModel.length){
    return false
  } else {
    return true
  }
}
ng-disabled="formName.$invalid"
 <div ng-controller="ExampleController">
  <form name="userForm" novalidate > 
    Name:
    <input type="text" name='userName' ng-model="firstName" required />
  </form>

  <input type = 'button' id="buttonId"  value = 'Submit'  ng-disabled="!userForm.userName.$dirty"/>
</div>