2016-06-13 65 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> 
相關問題