2016-06-13 61 views
0

我添加了一些条件来显示我的修订字段。基本上它会接受一个数字和一个必填字段,所以我添加了一些验证检查。我已经从'编辑'视图中排除了这个字段。并为此我指定了条件。

ng-show="editMode=='addNew' || editMode=='addDate'" 

即使在编辑视图这个领域没有显示出来..而是介于$无效正成为适用于所有视图

<div class="form-group" ng-show="editMode=='addNew' || editMode=='addDate'"> 
    <label for="editmyRevision" ng-class="{'col-sm-3':editMode=='addNew'}" class="col-md-2 control-label">Revision</label> 
    <div ng-class="{'col-sm-9':editMode=='addNew'}" class="col-md-10"> 
    <input class="form-control" ng-model="editmyRevision"name="revision" ng-required="editMode=='addNew' || editMode =='addDate'" ng-maxlength="5" ng-Pattern="/^[0-9]*$/"></input> 
     <span class="has-error help-block" data-ng-show="prodEdit.revision.$invalid">Acceptable formats: 100~99999</span> 

    </div> 
    </div> 

我到底做错了什么?

回答

4

ng-show不会删除从表单的输入。它只会设置display:none风格,所以它仍然会使表单无效。

尝试使用ng-if代替。

<div class="form-group" ng-if="editMode=='addNew' || editMode=='addDate'"> 
1

许多error syntax在您的代码。 $invalid申请form不是input

变化:

<input class="form-control" ng-model="editmyRevision"name="revision" ng-required="editMode=='addNew' || editMode =='addDate'" ng-maxlength="5" ng-Pattern="/^[0-9]*$/"></input> 
<span class="has-error help-block" data-ng-show="prodEdit.revision.$invalid">Acceptable formats: 100~99999</span> 

要:

<input class="form-control" ng-model="editmyRevision" name="revision" ng-pattern="/^[0-9]{3,5}$/"/> 
<span class="has-error help-block" data-ng-show="prodEdit.revision.$error"> 
    Acceptable formats: 100~99999 
</span> 
相关问题