AngularJS ng-required属性不适用于条件验证

时间:2016-05-24 19:01:44

标签: angularjs validation

<form name="frm1" class="col s12">
<div class="row">
<p>{{myvar}}</p>
</div>

<div class="row">
    <div class="input-field col s12">
        <input id="text1" ng-model="Note" ng-required="myvar=='Test'"></input>
    <span ng-show="frm1.text1.$error.required">Please leave a note</span>
        </div>
</div> 
<div class="row">               
    <input type="button" value="Enter" ng-click="GoNext(Note)" />
</div>
</form>

我在AngularJS应用程序的页面上有上面的代码。我们的想法是使ng-required成为条件 - 只有当变量myvar等于特定值 - Test时才需要文本字段并显示验证。在所有其他情况下,该字段应保持不需要。

我的验证条件可能有问题,我试过了:

<form name="frm1" class="col s12">
<div class="row">
<p>{{myvar}}</p>
</div>

<div class="row">
<div class="input-field col s12">
        <input id="text1" ng-model="Note" required></input>
    <span ng-show="frm1.text1.$error.required">Please leave a note</span>
     </div>
</div> 
<div class="row">               
<input type="button" value="Enter" ng-click="GoNext(Note)" />
</div>
</form>

我也尝试过:

<form name="frm1" class="col s12">
<div class="row">
<p>{{myvar}}</p>
</div>

<div class="row">
<div class="input-field col s12">
        <input id="text1" ng-model="Note" ng-required="true"></input>
    <span ng-show="frm1.text1.$error.required">Please leave a note</span>
     </div>
</div> 
<div class="row">               
<input type="button" value="Enter" ng-click="GoNext(Note)" />
</div>
</form>

但仍然没有显示验证

更新:我已通过将按钮更改为提交按钮来修复此问题

2 个答案:

答案 0 :(得分:1)

我已通过将按钮更改为提交按钮来修复此问题

答案 1 :(得分:0)

在输入中添加一个类型:  类型=&#34;文本&#34;