我有一个带有radiobuttons和输入字段的表单。如果选中三个顶部单选按钮中的任何一个,我需要在输入字段中添加“required”。 我的代码:
<ng-form name="addShareholderForm">
<form name="form.addForm" class="form-validation" ng-submit=" $ctrl.addShareholder()" ng-init="$ctrl.setFormScope(this)">
<md-radio-group ng-model="data.group1" ng-required="true">
<md-radio-button value="passport" class="md-primary">Passport number</md-radio-button>
<md-radio-button value="ssn">Social security number(SSN) </md-radio-button>
<md-radio-button value="drivers-license">Drivers license number</md-radio-button>
<md-radio-button value="person-other">Other</md-radio-button>
</md-radio-group>
<input placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">
<md-input-container>
<md-button type="submit" ng-disabled="!addShareholderForm.$valid" class="md-raised md-primary md-no-ink submitshareholder" aria-label="Lägg till">
<i class="material-icons done-button-fab">add_circle</i>Lägg till
</md-button>
</md-input-container>
然而这不起作用,我不知道我做错了什么?输入字段未设置为必需。
编辑:我根据以下建议更改了代码,并将ng-form和按钮添加到代码中。当表单无效时,该按钮应该被禁用,但是一旦我检查单选按钮而没有填写输入,我就不会启用该按钮。
答案 0 :(得分:1)
您的单选按钮不应全部都有del
个。以下是如何使用ng-model
https://material.angularjs.org/latest/demo/radioButton
md-radio
答案 1 :(得分:1)
你刚犯了两个错误:
1st。:在输入的 type 属性中,它应为type="number"
,因为type="string"
甚至无效。
第二。::您忘了在ng-model
标记中添加input
。
然后,改变这个:
<input type="string" min="1" max="40" placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">
有:
<input ng-model"input" type="number" min="1" max="40" placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">
答案 2 :(得分:0)
我终于解决了这个问题。我忘了添加$ ctrl
<input placeholder="Type number" ng-required="$ctrl.data.group1 == 'passport' || $ctrl.data.group1 == 'ssn' || $ctrl.data.group1 == 'drivers-license'"/>