我正在使用角度向导进行应用的注册过程。
角度精灵 - https://github.com/mgonto/angular-wizard
但是,无论我尝试什么,向导的每一步都不允许进行表单验证(基本上是带有角度的框和带有FormController和$ error对象的表单的使用。
我已经发布了有关表单验证的项目问题页面,但我没有收到项目所有者或任何其他用户的工作代码示例,所以我希望更多这里的高级用户可以提供帮助。
哦,为了帮助隔离问题,我只在我的jsfiddles的第一步中包含了html。
验证问题 - https://github.com/mgonto/angular-wizard/issues/41
验证问题页面链接到我的jsfiddles和其他工作。
这是一个范围问题????如果是这样,我该如何解决它?目前,当我单击Next按钮时,它只是通过向导进行,当我尝试将$ error对象发送到控制台时,我得到的只是" undefined"。
Angular docs(表单属性和对$ error的引用) - https://docs.angularjs.org/api/ng/type/form.FormController
答案 0 :(得分:1)
这绝对是一个范围问题。我能够通过进入子元素的范围(在控制器中)并通过将视图(html)中的变量定义为$ parent元素的一部分来使事情变得有效。这意味着所有变量都在HTML中设置为
ng-model="$parent.variableName";
从控制器更改此变量的值需要进行如下调用:
$scope.$$childTail.variableName = 'something that you want to change the value to';
但是进入$$ childTail是一个禁忌。如果你问我,整个项目需要重新修改以解决范围问题。如果修改后的项目使用了典型角度数据绑定之外的任何内容,则需要有关于如何访问验证变量的文档。
我的解决方案代码附在下面的要点中。
答案 1 :(得分:0)
我认为你的部分问题是你的ng模型上没有点缀符号。一般来说,你想要ng-model =" container.piece"。如果您的模型中没有包含点,那么有很多关于写入子范围的问题的文章。看看Understanding scopes。