Angular 表单验证不适用于组件
Angular form validation not working with components
我有以下表格,它是绑定到 angular component
的模板。当我提交时,我能够检索到绑定到 $ctrl.form
的值,这表明 form
正被绑定到控制器,正如预期的那样,但是, submit
上的 $valid
=] 按钮不起作用。添加验证器后,该按钮始终处于禁用状态,因为表单无效。
<div class="verification step-3">
<form name="form" ng-submit="$ctrl.submit()">
<fieldset ng-disabled="$ctrl.isSubmitting">
<md-content class="md-no-momentum">
<!-- username -->
<md-input-container class="md-icon-float md-block">
<label>Username</label>
<input data-id="login-username"
ng-model="$ctrl.form.username"
name="username"
type="text"
required>
</md-input-container>
<!-- register button -->
<div class="text-center">
<md-button data-id="register"
class="md-primary md-raised"
ng-disabled="!$ctrl.form.$valid"
ng-class="{ 'btn-disabled': !$ctrl.form.$valid }"
type="submit"
ng-click="$ctrl.submit()">
Create account
</md-button>
</div>
</md-content>
</fieldset>
</form>
</div>
从 $valid 中删除 $ctrl
。 $valid
用于检查表单验证,因此您不需要使用控制器作为参考
改变这个
ng-disabled="!$ctrl.form.$valid"
到这个
ng-disabled="!form.$valid"
也删除 ngClick
,因为您使用的是 ngSubmit
<md-button data-id="register"
class="md-primary md-raised"
ng-disabled="form.$valid"
ng-class="{ 'btn-disabled': form.$valid }"
type="submit"> Create account
</md-button>
我有以下表格,它是绑定到 angular component
的模板。当我提交时,我能够检索到绑定到 $ctrl.form
的值,这表明 form
正被绑定到控制器,正如预期的那样,但是, submit
上的 $valid
=] 按钮不起作用。添加验证器后,该按钮始终处于禁用状态,因为表单无效。
<div class="verification step-3">
<form name="form" ng-submit="$ctrl.submit()">
<fieldset ng-disabled="$ctrl.isSubmitting">
<md-content class="md-no-momentum">
<!-- username -->
<md-input-container class="md-icon-float md-block">
<label>Username</label>
<input data-id="login-username"
ng-model="$ctrl.form.username"
name="username"
type="text"
required>
</md-input-container>
<!-- register button -->
<div class="text-center">
<md-button data-id="register"
class="md-primary md-raised"
ng-disabled="!$ctrl.form.$valid"
ng-class="{ 'btn-disabled': !$ctrl.form.$valid }"
type="submit"
ng-click="$ctrl.submit()">
Create account
</md-button>
</div>
</md-content>
</fieldset>
</form>
</div>
从 $valid 中删除 $ctrl
。 $valid
用于检查表单验证,因此您不需要使用控制器作为参考
改变这个
ng-disabled="!$ctrl.form.$valid"
到这个
ng-disabled="!form.$valid"
也删除 ngClick
,因为您使用的是 ngSubmit
<md-button data-id="register"
class="md-primary md-raised"
ng-disabled="form.$valid"
ng-class="{ 'btn-disabled': form.$valid }"
type="submit"> Create account
</md-button>