AngularJS-无法在动态输入上访问$ valid

伊格纳斯

更新:我添加了一个自定义指令,该指令允许我使用动态生成的名称访问输入,但是$ valid仍未定义。

我对Angular刚起步(尝试从jQuery切换),但是我觉得它很棒,但是我已经花了好几个小时才解决这个问题。

我要实现的UI的工作流是让用户单击一个步骤,然后显示一个输入字段,他必须填写该字段(需要验证,因此我尝试使用ng-required / ng-minlength)。

如果通过验证,则应显示一个勾号图标,然后以相同的方式激活下一步。


现在的问题是我可以访问form元素,但是我得到的对象是DOM对象,并且不包含$ valid属性,我需要检查该属性以检查表单/字段是否有效。

17:20行是:

console.log($scope.step1); //undefined
console.log(step1); //dom object
console.log(step1.value); //dom object
console.log(step1.value.$valid); //undefined

我一直在谷歌上搜索很多问题,所以我说我应该可以通过$ scope变量访问表单,但是不幸的是,尽管可以通过简单的变量名“ step1”(动态生成)访问表单名称)。我也可以访问“值”命名字段,但是它仍然只是DOM对象,因此没有$ valid可用。

JSFiddle:http : //jsfiddle.net/Iber/vtvnquee/


我的问题是:

  • 就Angular编码方式而言,我是否走上了正确的道路?
  • 我的“向导应用”代码符合逻辑吗?我的意思是,也许我应该使用其他方法来构建这些步骤?
  • 我在做什么错,为什么我不能访问$ valid属性?

我真的想了解Angular,因为它似乎是大型应用程序的合适框架,也是我的理想之选。

像素位

angular中的表单验证取决于两件事:

  1. 您的表单(或ng-form)元素必须具有“名称”属性。

    <form name="myform">
    
  2. 您的输入(或选择)字段必须具有“名称”属性和ng-model。

    <input type="text" name="name" ng-model="name" />
    

表单和输入字段需要name属性的原因是,这就是您在$ scope上查找模型并执行客户端验证的方式。

例如

 $scope.myform.name.$error.required
 $scope.myform.name.$valid
 $scope.myform.name.$invalid

[编辑]

我发现您已经在提琴演奏中遵循了这些准则。

之所以不起作用,是因为name属性不能是插值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS输入监视$ valid或$ error

来自分类Dev

AngularJS输入$ valid始终为false,无错误

来自分类Dev

在AngularJS指令中监视输入元素上的$ valid

来自分类Dev

AngularJS input watch $valid or $error

来自分类Dev

AngularJS'controller as'和form。$ valid

来自分类Dev

AngularJS:ng-如果检查模型值,但仅当输入为$ valid时,输入集的模型值

来自分类Dev

类型错误:无法读取 AngularJS 中未定义的属性“$valid”

来自分类Dev

AngularJS表单验证:$ valid始终为True

来自分类Dev

AngularJS访问动态元素的范围

来自分类Dev

AngularJS 访问动态对象属性

来自分类Dev

在“ this”上访问动态成员

来自分类Dev

AngularJS强制验证或等待$ scope.myForm。$ valid刷新

来自分类Dev

AngularJS监视ngForm引用数组以了解$ valid中的更改

来自分类Dev

AngularJS-使用ng-model动态名称访问输入数组

来自分类Dev

无法在AngularJS中集中输入

来自分类Dev

angularjs无法更新输入字段

来自分类Dev

无法在angular bootstrap js中访问form.valid

来自分类Dev

在angularjs中动态命名输入控件

来自分类Dev

在angularjs中动态命名输入控件

来自分类Dev

angularjs $ scope.apply()动态输入

来自分类Dev

在angularjs中获取动态数组输入

来自分类Dev

使用AngularJS验证动态创建的“输入”元素

来自分类Dev

AngularJS - 验证输入字段的动态模式

来自分类Dev

如何访问angularjs中动态创建的字段?

来自分类Dev

如何在Azure虚拟机上访问AngularJS应用程序?

来自分类Dev

无法在pythonanywhere上访问文件

来自分类Dev

无法在 ubuntu 上访问 phpmyadmin

来自分类Dev

CSS无法在AngularJS中动态更新

来自分类Dev

AngularJS数据绑定无法动态更新内容

Related 相关文章

热门标签

归档