繁体   English   中英

所需的angularJS在指令中不起作用

[英]angularJS required is not working in directive

我有一个input="text"这是必需的。

以下代码是文本指令,它强制用户仅键入数字。

默认情况下,所需警告为ON。 现在的问题是,如果您在文本框中键入除数字以外的任何关键字,它将不会键入字符(很好),但是所需的错误将消失!!!! 结果是带有空值的文本框,并且不需要错误消息!

 angular.module('league').directive('numbersOnly', function () { return { require: 'ngModel', link: function (scope, element, attr, ngModelCtrl) { function fromUser(text) { if (text) { var transformedInput = text.replace(/[^0-9]/g, ''); if (transformedInput !== text) { ngModelCtrl.$setViewValue(transformedInput); ngModelCtrl.$render(); } return transformedInput; } return undefined; } ngModelCtrl.$parsers.push(fromUser); } }; }); 
 <input type="text" class="CreateTxt" ng-model="league.name" name="leagueName" required /> <span ng-show="myForm.leagueName.$error.required" style="color:red">Its required...</span> 

使用type =“ number”不能达到相同的行为吗?

您需要更改

return undefined;

return null;

否则,角度将导致解析错误,这不是必需的错误。 因此,除了选择后备值以外,您几乎一切都做得很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM