0

フォーム検証は Firefox では正常に機能していますが、Internet Explorer 9 では失敗します。

空のフィールドを検証するために、動的に生成された必須フィールドにこのスパンタグを付けています。

<span ng-show="hasError('"+fieldName+"', 'required')"></span>

$scope.hasError= function(field, validation){
        if(validation){
          return ('$scope.myForm.field.$dirty' && '$scope.myForm.field.$error[validation]') || ($scope.submitted && '$scope.myForm.field.$error[validation]');
        }
        return ('$scope.myForm.field.$dirty' && '$scope.myForm.field.$invalid') || ($scope.submitted && '$scope.myForm.field.$invalid');
    };

もともと持っていた

$scope.hasError = function(field, validation){
    if(validation){
      return ($scope.myForm[field].$dirty && $scope.myForm[field].$error[validation]) || ($scope.submitted && $scope.myForm[field].$error[validation]);
    }
    return ($scope.myForm[field].$dirty && $scope.myForm[field].$invalid) || ($scope.submitted && $scope.myForm[field].$invalid);
};

私にくれた

TypeError: プロパティ '$dirty' の値を取得できません: オブジェクトが null または未定義です

IE9 コンソールでは、上記の投稿されたコードに変更した後、TypeError はなくなりましたが、空のフィールドをユーザーに警告するテキスト ボックスの周りの赤い境界線は IE9 には表示されません。

空のフィールドを検証できるように、IE9 に固有に何をする必要がありますか?

または、Firefox と IE の両方で動的に生成されるフォーム フィールドを検証する他の方法はありますか?

4

2 に答える 2

0

$scope.myForm.field.$error.dirty であるべきだと思います

于 2016-10-13T11:02:24.867 に答える