2016-06-29 5 views
2

子フォームが手動で無効に設定されている場合でも、親フォームが有効なままである場合に親フォームの無効化に問題があります。ここで子フォームが手動で無効に設定されている場合、角度が親フォームを無効にしません

は単純な例でjsFiddleです:jsFiddle

<div ng-app="demoApp" ng-controller="exampleController">  
    Parent Form    
    <form name="parentForm">   
     <input type="text" required ng-model="input" name="input"/> 
    <span ng-if="parentForm.$invalid">NG-INVALID</span> 
    <span ng-if="parentForm.$valid">NG-VALID</span> 
     <br> 
     Nested form 
    <ng-form name="nestedForm">   
    <br> 
    <button type="button" ng-click="setValidity(nestedForm)">Set invalid</button> 
      <span ng-if="nestedForm.$invalid">NG-INVALID</span> 
      <span ng-if="nestedForm.$valid">NG-VALID</span> 
    </ng-form> 
</form> 

var demoApp = angular.module('demoApp', []); 
demoApp.controller('exampleController', function ($scope) { 
    $scope.setValidity = function(classicNested){ 
     classicNested.$invalid = !classicNested.$invalid; 
     classicNested.$valid = !classicNested.$valid; 
    }; 
}); 

は、この正しいアプローチですか?私はなぜそれが動作していないのかわからない...

答えて

0

これはちょうどFormController$setValidityの方法を持っている理由です。親フォームの有効性を調整する場合は、次のようにしてください。

関連する問題