作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个打开 ngDialog.openConfirm
的按钮。在该对话框中,我有一个表单,其中包含一个必需的文本区域,并且至少需要 20 个字符。
这是我的代码的简化版本:
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>
我希望仅在表单有效时才提交对话框。
我尝试通过在 Controller 中创建一个函数来实现此目的,但是访问表单/关闭对话框时遇到问题。
有什么想法吗?
更新:我已经像这样更改了我的 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>
这在第一次单击时有效,会显示错误消息,但在第二次单击时它会提交表单,即使它无效。似乎每当显示错误消息时,提交按钮都会忽略验证。
最佳答案
您可以手动决定是否调用$scope.confirm(),
通过验证然后调用 $scope.confirm()。
未通过验证,请勿调用 $scope.confirm()。
例如
模板:
<button type="button" ng-click="ok(0)">Submit</button>
Controller :
$scope.ok = function () {
if(!validationHasPassed()){
//errorMsg.push('xxx')
return false;
}
$scope.confirm();
};
关于javascript - 关闭前验证 ngDialog openConfirm 中的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47350985/
我有一个打开 ngDialog.openConfirm 的按钮。在该对话框中,我有一个表单,其中包含一个必需的文本区域,并且至少需要 20 个字符。 这是我的代码的简化版本: someFunction
在 angularjs 中,我想显示删除操作的确认对话框,我的代码如下: function deleteOperation(){ var result;
我是一名优秀的程序员,十分优秀!