我的表单上有几个md-select下拉列表,其中很多都有验证。验证在所有下拉列表中都能正常工作,但以下情况除外:如果没有,则不会阻止表单提交:
<md-input-container class="form-input-container"
flex="15">
<label>NDRA*</label>
<md-select id="registration-information-ndra"
name="ndra"
ng-model="vm.registration.code"
ng-class="{'validation-error': newForm.ndra.$error.required && newForm.$submitted}"
ng-required="vm.validation.ndra">
<md-option ng-repeat="code in vm.dropdowns.codes"
value="{{code}}">
{{code}}
</md-option>
</md-select>
</md-input-container>
vm.validation.ndra评估为true,所以我知道这不是问题。如果我查看newForm.ndra与工作选择选项的值,例如newForm.submissionDate,我会得到以下结果:
newForm.ndra: {"$viewValue":"p","$modelValue":"p","$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":true,"$invalid":false,"$error":{},"$name":"ndra","$options":null}
注册类型(验证工作):
<md-input-container class="form-input-container padded-input md-block"
flex-gt-sm="">
<label>Type of Registration*</label>
<md-select id="registration-information-type"
name="registrationType"
ng-model="vm.registration.type"
ng-class="{'validation-error': newForm.registrationType.$error.required && newForm.$submitted}"
ng-required="vm.validation.registrationType">
<md-option ng-repeat="type in vm.dropdowns.types"
value="{{type}}">
{{type}}
</md-option>
</md-select>
</md-input-container>
{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"registrationType","$options":null}
答案 0 :(得分:2)
想出来。在我的控制器代码深处,控制器正在实例化,然后this.registration.code
被设置为P
,因此ndra下拉列表的模型已经有了一个值。
答案 1 :(得分:1)
我在想你的vm.validation.ndra
正在回归你的vm.validation.registrationType
。所以不需要选择。
如果你看一下返回的内容......
<强>国家药品管理机构强>
"$valid":true,"$invalid":false
VS
注册类型
他们完全相反。"$valid":false,"$invalid":true
你应该检查以确保你在vm.validation.ndra
答案 2 :(得分:0)
只需将值更改为false
中的ng-required
,然后在以下链接中查看以下结果。我认为vm.validation.ndra
会返回false
。
http://codepen.io/next1/pen/WwoyWG