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;
};
});
は、この正しいアプローチですか?私はなぜそれが動作していないのかわからない...