角控制器显示模态形式是有效的,当它不是
The angular controller shows the modal form is valid, when it's not
我有一个窗体,弹出在一个模态指令(bootstrap UI)。我有两个输入与html5验证:"required".
在控制器中,我想找出表单是否有效,然后继续到服务器。在我遇到作用域问题后(当我试图引用$scope.FormName.$valid时),我通过使用ng-click.
发送表单名称找到了解决方案。然后我看到控制器代码显示表单是有效的(即使所需字段为空)。如何在提交之前检查表单是否有效?
下面是我的代码:form in html
<form name="EmailForm">
<div class="row">
<div class="col-md-1 lbl_hdr">
date:
</div>
<div class="col-md-1">
{{Curr_Date | date:'dd/MM/yyyy'}}
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-1">
</div>
</div>
<div class="row">
<div class="col-md-1 lbl_hdr">
from:
</div>
<div class="col-md-1">
<input type="email" required placeholder="email" />
<br />
<br />
</div>
</div>
<div class="row">
<div class="col-md-3 lbl_hdr">
message:
</div>
</div>
<div class="row">
<div class="col-md-1">
<textarea class="msg_text" required rows="5"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-9">
<button type="submit" ng-click="SendEmail(EmailForm)" class="btn btn-primary btn_padded_top">send</button>
<button type="button" class="btn btn-primary btn_padded_top pull-left" ng-click="$close();">cancel</button>
</div>
</div>
</div>
</div>
</form>
控制器 $scope.openModal = function () {
var modalInstance = $modal.open({
templateUrl: '/js/app/templates/msg_modal.html',
controller: function ($scope) {
$scope.Curr_Date = new Date();
$scope.SendEmail = function (EmailForm) {
if (EmailForm.$valid) {
EmailService.sendEmail("sdsd").success(
function (data) {
});
}//if valid
};
},
size: size
});
};
"如果(EmailForm有效)美元。"= always true
我有同样的问题,结果证明,表单元素必须有ng-model
为了让AngularJS验证启动。
所以只要把它添加到所有元素中,它应该都很好,例如
<input type="email" required placeholder="email" ng-model="email" />
尝试使用ng-submit
并发送EmailForm。
<form name="EmailForm" ng-submit="SendEmail(EmailForm.$valid)">
<div class="row">
<div class="col-md-1 lbl_hdr">
date:
</div>
<div class="col-md-1">
{{Curr_Date | date:'dd/MM/yyyy'}}
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-1">
</div>
</div>
<div class="row">
<div class="col-md-1 lbl_hdr">
from:
</div>
<div class="col-md-1">
<input type="email" required placeholder="email" />
<br />
<br />
</div>
</div>
<div class="row">
<div class="col-md-3 lbl_hdr">
message:
</div>
</div>
<div class="row">
<div class="col-md-1">
<textarea class="msg_text" required rows="5"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-9">
<button type="submit" class="btn btn-primary btn_padded_top">send</button>
<button type="button" class="btn btn-primary btn_padded_top pull-left" ng-click="$close();">cancel</button>
</div>
</div>
</div>
</div>
</form>
:
$scope.openModal = function () {
var modalInstance = $modal.open({
templateUrl: '/js/app/templates/msg_modal.html',
controller: function ($scope) {
$scope.Curr_Date = new Date();
$scope.SendEmail = function (isValid) {
if (isValid) {
EmailService.sendEmail("sdsd").success(
function (data) {
});
}//if valid
};
},
size: size
});
};
相关文章:
- 有效形式-始终只显示1个错误[角度]
- D3.js生成有效的SVG,但不显示任何内容
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- 为什么视频不显示在有角度的灯箱中?图像有效,但视频无效;t
- 输入类型=“;文件“;onclick有效,但文件选择不显示
- 最有效的jquery显示/隐藏切换
- 切换样式:只有当样式在HTML中而不是在CSS中时,显示才有效
- 数据插入有效,但不显示警报框消息
- Webpack-dev-server 即使在显示捆绑有效消息后也不会捆绑
- meter.value 更新有效,但不更新显示的“悬停”值
- 显示隐藏的容器元素 - 悬停仅在我单击容器后有效
- 在 AngularJS 中,如何在输入字段中输入有效数据时在输入字段前面显示绿色刻度线
- 在 HTML 中有效地显示大型列表
- Jquery滑动悬停功能显示.stop错误(但仍然有效)
- 有效的网页显示在WebKit浏览器和IE中,但不显示在Firefox中
- Ajax 构建关系按钮有效,用于显示引导模式的第二个按钮有效,但两者不能协同工作
- 有效地突出显示文档中的文本 (JavaScript)
- Javascript:可以访问对象并显示它,但不是该对象的有效属性
- 奇怪的是,在第二次单击切换隐藏/显示按钮而不是第一次单击后,有两行有效
- JSON.parse 失败,并显示有效的 JSON