首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Anglular /max验证代码在多个字段上为三个变量工作

使Anglular /max验证代码在多个字段上为三个变量工作
EN

Stack Overflow用户
提问于 2015-11-23 16:01:38
回答 1查看 559关注 0票数 0

最近,我一直试图找到一种方法来阻止对一个最大数的无效数字条目的表单提交,在我运行角JS的表单上设置一个分子和分母。我需要在我正在构建的表格上有15种不同分子和分母的最大值大于拱形。然后,对于分子和分母,分子不能超过分母,分母不能超过最大值(ex )。分子15/分母19/最大值20 =有效;分子10/分母5/最大值20 =无效;分子5,分母10,最大值5=无效)。现在我在submit按钮上设置了一个ng -禁用按钮,可以在表单中的任何无效状态下发出声音,它只是获取分子、分母和最大数字的ng字段。

我在这里找到了一个js小提琴,我认为它接近我要找的东西,但我不确定它是否是我所需要的:http://jsfiddle.net/webvitaly/AG2wf/1/light/我看到min字段、max字段和value字段,但我并不完全了解如何将它转换为我的max、分子和分母,以及/或我需要在脚本中复制的内容,以涵盖我的表单需要做的其他14个迭代。

一个多星期前,我试着问这个问题,但我不知道该如何通知我仍然有问题,或者我做的任何评论,如果我添加了更多的信息,在我的问题出现的时候,我已经停止了自己的研究,这是前一个问题。这是我在发布这篇文章之前尝试的最后一段代码:

代码语言:javascript
复制
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope) {
  $scope.check = function() {
    if ($scope.firstDen) {
      $scope.demoFormData.firstDen.$setValidity(max, $scope.firstDen <= $scope.numberOfPeople);
    }
    if ($scope.firstNum) {
      $scope.demoFormData.firstNum.$setValidity(max, $scope.firstNum <= $scope.firstDem);
    }
  };
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-23 16:36:01

除非您有特定的需求,否则您可能只想直接依赖于验证逻辑,而这种验证逻辑的角度形式是直截了当的。

看看这个柱塞:http://plnkr.co/edit/z8zTHtdPsGjqnTQ7srf4

如您所见,我们只需在输入字段中指定minmax属性,就可以连接到验证逻辑。这使我们可以自由地使用ngModel,将该字段的文本绑定到我们的模型,而不是将其用于验证的唯一目的:

代码语言:javascript
复制
<input type="number" name="input" ng-model="example.value" min="{{min}}" max="{{max}}">

此外,您还可以看到,我们只需要查看myForm对象就可以启用/禁用字段--我们不需要驻留在某个控制器中的任何附加逻辑,角已经为我们处理了这个问题:

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

https://stackoverflow.com/questions/33875316

复制
相关文章

相似问题

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