一尘不染

AngularJS-表单自定义验证-检查至少一个输入是否为空

angularjs

给定一个简单的html形式,如下所示:

<form name="myForm" action="#sent" method="post" ng-app>
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
... submit input and all the other code...
</form>

如果至少有一项输入为空,我需要您的帮助来知道如何检查验证时间。所需的验证如下。用户必须至少完成一个首选项。

使用jQuery的这:

if ( $("input").val() == "" ) {

可以,但是想弄清楚如何使用angular来做同样的事情。

非常感谢

吉列尔莫


阅读 271

收藏
2020-07-04

共1个答案

一尘不染

因此,想法是如果所有输入均为空白,则禁用提交按钮。你可以这样

<form name="myForm" action="#sent" method="post" ng-app>
   <input name="userPreference1" type="text" ng-model="shipment.userPreference1" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference2" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference3" />

   <button type="submit" ng-disabled="!(!!shipment.userPreference1 || !!shipment.userPreference2  || !!shipment.userPreference3)">Submit</button>
</form>

!!str是强制转换strboolean值。并且!!null!!""都被评估为false

**[Demo](http://jsfiddle.net/9LVgr/)**

2020-07-04