如何向AngularJS表单添加自定义验证?

如何向AngularJS表单添加自定义验证?

我有一个带有输入字段和验证设置的表单,方法是添加required属性之类的。但是对于某些字段,我需要做一些额外的验证。我将如何“插入”到验证FormController控制?

自定义验证可能类似于“如果填写了这3个字段,那么这个字段是必需的,需要以特定的方式进行格式化”。

有一种方法FormController.$setValidity但是这看起来不像一个公共API,所以我不想使用它。创建自定义指令并使用NgModelController看起来是另一个选项,但基本上要求我为每个自定义验证规则创建一个指令,这是我不想要的。

实际上,将控制器中的字段标记为无效(同时也要保持FormController在最简单的场景中,我可能需要这样做才能完成任务,但我不知道如何做到这一点。


沧海一幻觉
浏览 660回答 3
3回答

qq_花开花谢_0

您可以在验证方案中使用ng-Required(“如果填写了这3个字段,则需要此字段”):<div&nbsp;ng-app> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="text"&nbsp;ng-model="field1"&nbsp;placeholder="Field1"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="text"&nbsp;ng-model="field2"&nbsp;placeholder="Field2"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="text"&nbsp;ng-model="field3"&nbsp;placeholder="Field3"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="text"&nbsp;ng-model="dependentField"&nbsp;placeholder="Custom&nbsp;validation" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ng-required="field1&nbsp;&&&nbsp;field2&nbsp;&&&nbsp;field3"></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS