2016-06-13 2 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が含まれています。 $invalidformには適用されません。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> 
関連する問題