gpt4 book ai didi

angularjs - 表格 : Form Validation in Angular 中至少有一个字段是强制性的

转载 作者:行者123 更新时间:2023-12-05 00:54:38 25 4
gpt4 key购买 nike

我在一个表单上有三个输入字段。
我正在寻找一种方法,如果需要输入或任何输入组合,则表单有效,这意味着至少需要一个。此外,即使表单也是有效的,用户也可以以任何组合输入输入。

我已经阅读了 ng-required 但这会使我的表达太长。

<td>Name</td>
<td><input type="text" class="form-control input-xs" name="name"
ng-model="ctrl.orderSearch.name" minlength="4">
</td>
<td>Class</td>
<td><input type="text" class="form-control input-xs" name="class"
ng-model="ctrl.orderSearch.Class" minlength="6">
</td>
<td>Roll No:</td>
<td><input type="text" class="form-control input-xs" name="rollNo"
ng-model="ctrl.orderSearch.RollNo" minlength="6">
</td>

更新:我不想禁用提交按钮。该表格在以下任一情况下均有效:

1)字段一或二或三已填写

2) 1,2 或 1,3 或 2,3 被填充

3) 1,2,3 被填满。

另外,我尝试使用:
ng-required="!(ctrl.orderSearch.name.length || ctrl.orderSearch.rollNo.length )"在字段上。但是当我提交我的表单时,我的姓名字段上会出现一个内置的 angular 弹出窗口,上面写着“请填写此必填字段”,因为每当在空表单上调用 form.$valid 时,都会首先检查第一个字段,因此会弹出up 将显示在该字段上。但是对于用户来说,第一个字段似乎是强制性的,但事实并非如此。

另外,我不想编写用于验证的自定义方法。是否可以使用 ng-required?请帮忙。

最佳答案

检查这个 link

HTML

<form name="myForm">
<input type="text" ng-model="fields.one" name="firstField" ng-required="!(fields.one.length || fields.two.length || fields.three.length)" />
<br/>
<input type="text" name="secondField" ng-required="!(fields.one.length || fields.two.length || fields.three.length)" ng-model="fields.two" />
<br/>
<input type="text" ng-model="fields.three" name="thirdField" ng-required="!(fields.one.length || fields.two.length || fields.three.length)" />
<br/>
<button type="submit" ng-disabled="!myForm.$valid">Submit</button>
<br/>
<div>
<p>Submitted ? <span ng-bind="fields.submitted"></span>

</p>
<p>Form $valid: <span ng-bind="myForm.$valid"></span>

</p>
</div>
</form>

JS
angular.module("myApp", [])
.controller('myCtrl', ['$scope', function ($scope) {
$scope.fields = {
one: '',
two: '',
three: '',
submitted: 'Not Yet'
};

$scope.submit = function () {
$scope.fields.submitted = "Yahooo";
}
}]);

关于angularjs - 表格 : Form Validation in Angular 中至少有一个字段是强制性的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com