AngularJS-动态输入字段的验证
AngularJS - validation of dynamic input fields
假设我们有一个对象,如:
$scope.company = { name: { de: '', en: '' } };
以及一个输入字段,上面写着:
<input type="text" ng-model="company.name[currentLanguage]" />
<button ng-click="currentLanguage='de'">Deutsch</button>
<button ng-click="currentLanguage='en'">English</button>
如果用户填写此字段,则该字段将接收ng有效类。如果用户随后更改语言(事实上是$scope.currentLanguage),则输入字段将正确更新(变为空),但它仍然具有ng有效的类,这是错误的。预期的行为应该是原始的。如何实时更新?
很高兴知道这一点。干杯
PS。没有更多的代码。仅此而已。PS2.正如你在重复线程中所建议的那样,这是另一个问题。我不使用ng重复。
一旦输入的值以任何方式更改,它不会重置为ng原始,除非您强制它重置。
你可以这样管理控制器中的类:
$scope.currentLanguage = 'de';
$scope.company = { name: { de: '', en: '' } };
$scope.setCurrentLanguage = function(str) {
$scope.currentLanguage = str;
var input = angular.element(document).find('input')[0];
if ($scope.company.name[str] == '') {
angular.element(input).removeClass('ng-dirty');
angular.element(input).removeClass('ng-invalid');
angular.element(input).addClass('ng-pristine');
} else {
angular.element(input).removeClass('ng-pristine');
angular.element(input).addClass('ng-dirty');
}
}
以及在html:中
<input type="text" ng-model="company.name[currentLanguage]" />
<button ng-click="setCurrentLanguage('de')">Deutsch</button>
<button ng-click="setCurrentLanguage('en')">English</button>
相关文章:
- 为什么regex只验证字段中的一个字符,而不是所有输入的字符
- 验证字段名称 添加 与 使用 jquery 验证
- Jquery验证字段是否包含逗号
- jQuery验证字段名包含方括号的组
- 如何使用display验证字段:使用Parsley JS没有
- 滚动至联系人表格7中的已验证字段(wordpress)
- 在php中验证字段时,java脚本不起作用
- 字段验证:字段需要 JavaScript 正则表达式
- 挖空验证:如何在按钮单击时验证字段,而不是在输入更改时验证字段
- jQuery:在提交之前验证字段(多步骤表单)
- 禁用表单提交,直到使用 jQuery 验证字段
- JavaScript 单选按钮选择验证字段
- 尝试使用 jQuery - 自定义函数动态验证字段
- 验证字段中的jQuery布尔值问题
- 为什么我的表单没有't验证字段
- Javascript未验证字段
- 输入字段模糊时,验证字段,如果无效则取消模糊事件
- 更改时验证字段-datetimepicker
- 使用BootstrapValidator重新验证字段
- Jquery动态验证字段