加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

验证 – 角度验证输入类型=“数字”

发布时间:2020-12-17 07:40:41 所属栏目:安全 来源:网络整理
导读:我有这样的标记: form name="myForm" ng-controller="myCtrl" novalidate input ng-model="theValue" type="range" min="0" max="100" required input ng-model="theValue" type="number" required/input span ng-show="theValue.$error.number"Hey! No let
我有这样的标记:
<form name="myForm" ng-controller="myCtrl" novalidate>
    <input ng-model="theValue" type="range" min="0" max="100" required>
    <input ng-model="theValue" type="number" required></input>
    <span ng-show="theValue.$error.number">Hey! No letters,buddy!</span>
</form>

而且,当用户在第二个输入中意外地输入一个字母时,我希望显示跨度.简单吧?作为(可能)相关问题,当用户移动第一个滑块输入时,第二个输入中的值消失.为什么?如果我从标记中删除了type-number,则不会发生这种情况.

要清楚:我希望用户在输入时立即看到工具提示错误,没有任何“提交”操作. (我根本不想使用表单元素,但所有相关的演示似乎都需要.)

http://jsfiddle.net/7FfWT/

任何解决方法是最受欢迎的.如果可能,请张贴工作小提琴.

似乎有一个奇怪的问题,type =“number”与其他输入播放很好.

这个Google群组帖子中的帖子应该会让您处于正确的轨道.特别是最后一个帖子:https://groups.google.com/forum/#!msg/angular/Ecjx2fo8Qvk/x6iNlZrO_mwJ

jsfiddle链接为:http://jsfiddle.net/ABE8U/

作为一个工作,他作出了一个指示:

.directive('toNumber',function () {
    return {
        require: 'ngModel',link: function (scope,elem,attrs,ctrl) {
            ctrl.$parsers.push(function (value) {
                return parseFloat(value || '');
            });
        }
    };
});

感谢Schmuli Raskin

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读