在我目前正在开发的项目中,我目前有三个文本框,我需要验证至少有一个文本框已经填充。
我一直在阅读使用Angular指令的自定义验证,我明白您可以使用以下命令设置指令链接功能中输入的有效性:
ctrl.$parsers.unshift(function(viewValue) { // validation logic here });
我的问题是,我不需要设置一个单独的输入的有效性。如果不符合条件,我需要使整个表单无效。我只是想知道如何处理这个?
我在想,也许我应该创建一个放在封闭表单上的指令,然后使表单无效?
我想我只是在寻求一些指导,我应该如何去做,因为我有点不清楚从哪里开始 – 所有的材料,我正在阅读自定义验证似乎是当你验证一个特定的输入而不是一个表单上的一组条件。
我希望我已经明确了!谢谢..
您可以使用ng-required来强制用户通过检查字符串的长度属性来填充至少一个字段。
原文链接:https://www.f2er.com/angularjs/144258.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> </form>
有关详细信息,请参阅此working fiddle example。
您可以通过阅读this question获得有关必需的更多详细信息