5

我正在使用 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 中的表单操作) .

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

4

2 回答 2

3

您可以简单地invalid在表单级别进行检查,然后无需为每个输入定义模型:

<form ng-app name="myForm">
    <label>Name</label>
    <input type="text" name="name" required>
    <input type="submit" ng-disabled="myForm.$invalid">
</form>
于 2013-05-20T13:28:16.663 回答
0

您在测试输入标签处缺少模型:ng-model="form.name"

于 2014-09-01T14:08:01.020 回答