フォーム検証は 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 の両方で動的に生成されるフォーム フィールドを検証する他の方法はありますか?