ng模式第二次未验证
ng-pattern not validating second time
我有一个多页(视图)注册表单,在视图3中,我有一条带有ng模式的输入,用于导出邮政编码/邮政编码。问题是,当我切换视图,然后使用ng模式重新访问视图时,输入将变为无效。
<input type="text" class="form-control" name="postal" ng-model="user.postal" ng-minlength="1" ng-maxlength="8" maxlength="8" ng-pattern="/(^[ABCEGHJKLMNPRSTVXY]'d[ABCEGHJKLMNPRSTVWXYZ]( )?'d[ABCEGHJKLMNPRSTVWXYZ]'d$)|(^'d{5}(-'d{4})?$)/gmi" required>
有什么关于为什么这会无效的想法吗?
以下是一段工作代码片段,用于在视图之间切换时维护有效的邮政编码和用户名。我更改了你的模式字符串,使其适用于我,但你的可能还可以。我只是想要一些更简单的东西来测试。该模式与xxxxx|xxxxx-xxxx匹配。
用户对象显示在每个视图上。邮政编码仅在有效时显示。
如果您使用ngView,我发现最简单的方法是在控制器中嵌套,并从路由配置中删除控制器选项。当ngview被更新时,它看起来像是一个新的控制器被实例化了,并且您得到了一个新范围。您以前的输入将丢失,而且是无效的:)
var testApp = angular.module("testApp", ['ngRoute']);
testApp.config(['$routeProvider',
function($routeProvider) {
//Every View here shares the same controller. ng-view will give you a new controller if you pass it in.
$routeProvider.when("/view1", {
//Use TemplateURL instead to reference an extrnal page
template: '<h2> view 1 </h2><br/>Zip: <input type="text" class="form-control" name="postal" ng-model="user.postal" ng-pattern="/^''d{5}$|^''d{5}-''d{4}$/" ng-required="!user.postal" /><br/>{{user}}'
//controller: testCtrl * Maybe this is your issue. *
})
.when("/view2", {
//Use TemplateURL instead to reference an extrnal page
template: '<h2> view 2 </h2>Name: <input type="text" class="form-control" name="uname" ng-model="user.name" required /> <br /> {{user}}'
});
}
]);
testApp.controller("testCtrl", function($scope, $http) {
$scope.user = {};
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.1/angular-route.js">
</script>
<div ng-app="testApp">
<div ng-controller="testCtrl">
<a href="#view1"> View 1 </a>
<br/>
<a href="#view2"> View 2 </a>
<ng-view></ng-view>
</div>
</div>
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 单击仅在第二次单击后有效
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 第二次点击具有不同功能的按钮并更改文本
- 更改第二次推送时不起作用的元素高度
- 在第二次选择中选择2更改属性
- on(“点击”)仅在第二次点击后触发
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- java脚本中的谷歌地图在第二次点击时不起作用
- 更改类名后,将第二次单击事件附加到元素
- JavaScript 在第二次提交请求时未验证表单
- ng模式第二次未验证
- 第二次验证单选按钮集
- 验证错误列表出现在第二次提交/点击表单
- Javascript php验证,表单提交第二次提交后,填写一个文本框中的两个文本框
- ng消息和ui掩码在第二次验证时发生冲突
- 第二次单击按钮时验证不起作用