angularjs - <form> 标签外部的 Angular 表单验证

标签 angularjs angular-forms

这是一个愚蠢的问题,但是是否有可能在 block 之外获取表单状态。就像,

<form name="form">
   <input type="text" name="name" required />
</form>

<button ng-disabled="form.$invalid"></button> 

因为按钮在表单标签之外,所以无法获取状态。
我们是否有另一种方法来实现相同的目标(可能使用其他语言)?

最佳答案

您可以在 Controller 范围内的任何位置使用表单对象,根据我的理解,AngularJs 将表单对象绑定(bind)到当前的 ctrl 范围,这就是我们能够在表单范围之外使用它的原因。 这是演示

angular
 .module('app', [])
 .controller('ctrl', AppCtrl)
 
 function AppCtrl() {
    this.showFormInfo = function(form) {
    console.log(form);
    }
    
 }
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl as ct">
<form name="form" novalidate>
   <input type="text" name="test" ng-required="true" ng-model="name" />
   <span ng-if="">plz input</span>
   <button ng-click="ct.showFormInfo(form)">inside save</button>
</form>
<button ng-click="ct.showFormInfo(form)">outside save</button>

关于angularjs - <form> 标签外部的 Angular 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48740268/

相关文章:

javascript - Amazon S3 上传图像 - 跟踪上传进度 - Angular JS

javascript - 在 AngularJS 中使用 DocRaptor 生成 PDF

Angular *ngIf 用于嵌套表单组值

javascript - formGroup 需要一个 FormGroup 实例。请在我在其他表单组中创建表单组时传入一个

Angular 2 不仅仅是文本区域中的空格

javascript - 单击按钮时如何在 angularjs 中获取 json 文件?

javascript - 在 ng-pattern 中匹配 [/, .] 的正则表达式

css - 无法通过 View 从 scss 加载 css 样式

angular - 确认 Angular 6 中的密码验证

angular - 如何使用模式验证 mat-datepicker 输入?