ngDialog.openConfirm
を開くボタンがあります。そのダイアログの中には、必要なテキストエリアを含むフォームがあり、最小20文字必要です。ここで閉じる前にngDialog openConfirm内でフォームを検証
は、私のコードの簡易版である:
someFunction() {
let newScope = $scope.$new();
newScope.vm = vm;
ngDialog.openConfirm({
scope: newScope,
template: 'componentDescription.html'
})
}
そして、私のhtml:
<form role="form" name="subForm">
<textarea name="compDesc"
required="true"
ng-minlength="20"
ng-model="vm.compDesc">
</textarea>
<button type="button" ng-click="confirm(0)">Submit</button>
<button type="button" ng-click="closeThisDialog(0)">Cancel</button>
</form>
フォームが有効である場合、ダイアログにのみ提出するために私がしたいと思います。
私はコントローラで機能を作成することでこれを実行しようとしましたが、フォームへのアクセスに問題があり、ダイアログを閉じることができませんでした。
アイデア?
UPDATE: 私はそうのように私のhtmlを変更しました:
<form role="form" name="subForm" novalidate ng-submit="confirm(0)">
<textarea name="compDesc"
required="true"
ng-minlength="20"
ng-model="vm.compDesc">
</textarea>
<button type="submit">Submit</button>
<button type="button" ng-click="closeThisDialog(0)">Cancel</button>
</form>
これは私のエラーメッセージが表示されます最初のクリック、上で動作しますが、2番目をクリックして、それが無効だにもかかわらず、フォームを送信。エラーメッセージが表示されるたびに、送信ボタンが検証を無視すると思われます。
NG-無効:私は、これはオプションです実現しかし、私はあなたが提出クリックしたら、私のアプリケーション全体のシステムを持っています、フォームが有効でない場合は、エラーメッセージが表示されます。ボタンを無効にするのではなく、このシステムを維持することができたら、私は好むだろう – DeejC