问题标签 [angularjs-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 使用 ng- 重复的角度单选按钮验证
我遇到了一个有趣的 Angular 验证问题。我需要确保选择了单选按钮(加载时它们可能没有默认值)。单选按钮的值使用ng-repeat
. 整个事情也发生在另一个ng-repeat
用户列表中。
问题是我必须在每组name
相关单选按钮上设置一个唯一/动态属性,否则选择一个将取消选择不同行中的其他按钮。基于属性的验证,我似乎找不到在需要和表达式中使用这个唯一/动态名称的方法。name
ng-class
ng-show
这是不起作用的:
ng-show="userFormRow.service-{{$index}}.$invalid"
这是上下文中的代码示例:
这是一个完整的代码示例。http://codepen.io/chrismbarr/pen/eNoGLJ?editors=101 检查控制台是否有错误
angularjs - 以角度形式验证字段计数
我有一个表格,其中模型包含一组子模型,如下所示:
当没有输入字段时(或者,一般来说,当输入字段的计数小于/大于某个值时)如何使表单无效
更新:感谢您的回复,我希望这可以在控制器之外完成。
angularjs - 针对同一个验证器共享多个字段的验证状态
我将首先说明我已经搜索了 google 和 SO,但我还没有找到针对这种特定情况的答案。是的,还有其他的帖子听起来一样,但更多的是基于“MoreThan / LessThan”的心态。这根本不遵循这种心态,因此请不要将其标记为引用它们的重复项。
我试图确保用户没有输入页面上其他地方已经存在的地址。为此,我需要验证所有地址字段,因为不同的位置可能具有相同的街道地址。一旦地址被固定为不重复,我需要验证器将所有相关字段设置为有效(如果有任何无效)。目前它只将最后修改的字段设置为有效,其余的则无效。
Plunker 示例演示了正在发生的事情。我尝试了许多不同的方法,例如遍历所有字段并将它们设置为 prestine 和 untouched,然后将它们设置为dirty 和 touch 以再次触发验证,但我没有运气让它工作。
验证器
形式
angularjs - AngularJs 和控制器别名
我试图在视图中为 AngularJS 控制器起别名,但出于某种奇怪的原因 - 当我为方法和属性添加前缀时,它似乎没有响应 - 知道可能是什么原因造成的吗?
这是我的观点(我在 Laravel 5.1 中使用它):
这是 AngularJS 控制器模块:
加上FormController
前一个扩展的:
angularjs - 如果有条件地隐藏父 div,则 ng-required 无法按预期工作
在我的代码中,我正在使用ng-show
并ng-required
结合使用。但是,ng-required
即使将相应的$scope
变量值设置为,也无法按预期工作false
。请在下面找到代码
该select
元素具有显示选项的逻辑,并且工作正常。当我们选择“写我自己的问题”选项时,将input
显示隐藏。如果用户选择任何其他问题,自定义问题input
将被隐藏,而不是表单元素的一部分。但是ng-required
,尽管该值设置为false
并且各自form
未验证,但仍然被应用。
请让我知道我缺少什么以使其正常工作。在此先感谢您的帮助。
angularjs - Angular 验证器,传递数据以及错误代码以显示在 ngMessages 中
是否可以使用标准 Angular 机制存储一些额外的数据以及错误标志本身?即我手动设置ngModel.$setValidity
,我想传递一些数据以及错误标志,以显示在ngMessages
指令中。例如,假设字段的最小/最大长度取决于一些外部因素,因此是在服务器端计算和验证的。服务器响应customlength
错误代码以及max
我min
想向用户显示的属性。目前我只是设置ngModel.$setValidity("customlength", false);
,但我想传递{max: response.max, min: response.min}
,在模板中插值<div ng-message="customlength">the length should be between {{ data.min }} and {{ data.max }}
angularjs - 如何在按下按钮之前验证 angularJS 中的输入以在 html 表中添加项目
如何在执行任何操作之前验证输入元素,我有四个 html 输入元素和 html 表,当您单击添加项目以列出它在 HTML 表中添加的项目现在我的问题是验证,我想在按钮单击时验证输入元素。
angularjs - 如果模型无效,如何使用最后一个有效的模型值?
我正在开发一个应用程序,当用户更改某些内容时会自动保存更改,例如输入字段的值。我编写了一个autosave
指令,该指令被添加到所有应该自动触发保存事件的表单字段中。
模板:
指示:
到目前为止,这一切对我来说都很好。但是,当我将验证添加到组合中时,例如验证输入字段是有效的电子邮件地址,undefined
一旦 viewValue 更改为无效的电子邮件地址,modelValue 就会设置为。
我想做的是:记住最后一个有效的模型值并在自动保存时使用它。如果用户将电子邮件地址更改为无效,则包含name
和的对象email
仍应保存到服务器。使用当前有效name
和最后有效email
。
我开始保存最后一个有效的模型值,如下所示:
添加了验证的模板:
保存 lastModelValue 的指令:
我的问题是,如何lastModelValue
在保存的同时使用,但在视图中保留无效值?
编辑:
正如下面 Jugnu 所建议的,另一种可能性是包装和操作验证器中的构建。
我试图遵循:包装所有现有的验证器并记住最后一个有效值,以在验证失败时恢复它:
但我也不确定如何继续使用这种方法。我可以在没有 AngularJS 的情况下设置模型值并尝试验证新设置的值吗?
angularjs - AngularJS 验证框架
创建一个可以以下列方式使用的验证框架是否可行且不是特别困难:
实现基本实施可能涉及什么?
也许有我还没有偶然发现的具有类似使用概念的现有 AngularJS 验证框架?
angularjs - 可以在 contenteditable 元素上使用 ng-pattern 吗?
似乎找不到这方面的任何信息。是否可以在内容可编辑的 div 上使用 ng-pattern?当我尝试它不起作用时:
<div contenteditable="true" ng-model="x.number" ng-pattern='/^(\d)+$/'>{{ x.number }}</div>
更具体地说,当我输入无效条目时,div 元素上的 ng 验证类不会改变。