1

入力フィールドが無効になっているときに角度がパターンを評価するのはなぜですか。入力フィールドが非表示の場合と同じように動作する必要がありますか?

このフィドルを確認してください。 参照用のフィドル

<div ng-app>
    <div ng-controller="PatternTestCtrl">
        <form name="ngform">
            <label for="phone">Change the text to match the placeholder:</label><br/>
            <div>
                <input type="checkbox" ng-model="checkValue" />
            </div>
             used ng-pattern <input type="text" name="phone" ng-model="phone" ng-pattern="/^\d*$/" ng-disabled="!checkValue" maxlength="12" placeholder="555-555-5555"/>
            <div>Pattern validity : {{ngform.phone.$valid}}</div>
            <br>
            <div>
                used ng-if : <input type="text" name="dummyNum" ng-pattern="/^\d*$/" ng-model="dummyNum" ng-if="checkValue" />
            </div>    
        <div> ng-if input box validity : {{ngform.dummyNum.$valid}}</div>
        </form>
    </div>
</div>

参考までに添付画像
入力フィールドがアクティブです

無効になっているとき

4

1 に答える 1

2

ng-ifdom から要素を削除するため、ng-patternは評価されません。

ng-show/ng-hide、要素を非表示にするだけなので、ng-pattern引き続き評価されます。

ng-disableng-patternは異なるディレクティブですが、なぜそれらの機能を混在させる必要があるのでしょうか。

私たちのアプリでは、無効なフィールドでも実際に評価を開始します。したがって、この 2 つを混在させる必要がある理由がわかりません。

于 2015-03-23T11:09:24.183 に答える