0

私はAngularバージョン1.5.5を使用しており、最近Angular Material 1.1.0にアップグレードしました。アップグレード後、ng メッセージでいくつかの問題に直面し始めました。最初は ng メッセージが表示されませんでした。gitの問題を参考に以下のクラスを追加して修正しました

md-input-container .md-input-message-animation:not(.ng-animate) {
    opacity: 1;
    margin-top: 0px;
}

同じ ng メッセージが複数回表示されるようになりました。

<div class="inputbox-area" ng-form='subForm'>
    <md-input-container class="md-block" ng-repeat="item in dg.inputArr">
        <label>Level {{$index+1}}</label>
        <input md-maxlength="32" maxlength="32" ng-change="dg.showErrors = false"  name="{{item.Level}}" required ng-model="item.Name"  ng-pattern="/^[-a-zA-Z0-9,._' ]*$/" type="text">
        <div ng-messages="subForm[$index+1].$error" ng-if="dg.showErrors">
            <div ng-message="required">Level {{$index+1}} is mandatory</div>
            <div ng-message="md-maxlength">should be less than 32 characters long.</div>
            <div ng-message="duplicate">Level {{$index+1}} is a duplicate name</div>
            <div ng-message="pattern" class="my-message">Level {{$index+1}} is an invalid name</div>
        </div>
    </md-input-container>
</div>

ここに画像の説明を入力

私が間違っている提案はありますか?

4

2 に答える 2

0

100% 確実ではありませんが、ng-messages は次のように入力フィールドの名前を参照する必要があると思います。

ng-messages="subForm.{{item.Level}}.$error"

このシンタックスが機能するかどうかはわかりませんが、試してみてください。

于 2016-08-31T18:02:44.647 に答える