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