angularjs - 在表单上使用 ng-disabled 和 $invalid 时是否需要 ng-model?

标签 angularjs

我正在使用 AngularJS 并有一个表单,如果未填写某些字段,我希望在其中禁用“提交”按钮。

标准方法似乎如下:

<form ng-app name="myForm">
    <label>Name</label>
    <input type="text" name="name" ng-model="form.name" required>
    <input type="submit" ng-disabled="myForm.name.$invalid">
</form>

http://jsfiddle.net/YMSRU/

但是,如果我从输入字段中省略模型,则验证不起作用,并且我的输入字段不需要任何模型(我使用 ngUpload 指令提交表单,因此它实际上被发送到 iframe 中的表单操作) .

是否有任何解决方案,或者我应该添加随机模型来使验证工作?这似乎是一个糟糕的解决方法。

最佳答案

你可以简单地做 invalid在表单级别检查,则无需为每个输入定义模型:

<form ng-app name="myForm">
    <label>Name</label>
    <input type="text" name="name" required>
    <input type="submit" ng-disabled="myForm.$invalid">
</form>

关于angularjs - 在表单上使用 ng-disabled 和 $invalid 时是否需要 ng-model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650579/

相关文章:

javascript - 如何从 angular.js 中的服务进行 $rootScope.$broadcast

javascript - 关闭模式弹出窗口后,如何重定向到模式弹出窗口中的第一个选项卡?

angularjs - $injector nomod 模块 'angularFileUpload' 不可用

html - 组件内的 routerLink 不生成内容

AngularJs - 强制范围属性存在于 AngularJs 绑定(bind)上

javascript - 对 Bootstrap 模态使用不同的 Angular Controller

javascript - AngularJS 不显示 $scope

javascript - 未知错误: cannot focus element

javascript - angularjs 中的 $watch 方法真正返回什么以及它是如何工作的?

javascript - 在我的案例中如何发出多个 http 请求