首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角1.4版google-libphonenumber

角1.4版google-libphonenumber
EN

Stack Overflow用户
提问于 2017-08-31 04:45:34
回答 1查看 1.2K关注 0票数 1

我试图使用谷歌-libphonenumber在我的角1.4的应用程序的电话号码验证。

https://github.com/ruimarinho/google-libphonenumber

如果我在节点服务器代码中这样做,它就会像预期的那样工作。

但是,我希望在我的客户端验证指令中有这个验证。

我不确定在我的指令中插入哪个模块,以便在客户端使用这个模块。我试着注入"PhoneNumberUtil","google-libphonenumber",什么都没有。

有角1.4的例子吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-26 11:04:14

因为您提到的库不是角模块,所以不能将它作为依赖项注入到指令中。

但是,您可以像这样在指令脚本中要求或导入它:

代码语言:javascript
复制
const PhoneNumber = require('google-libphonenumber').PhoneNumberUtil.getInstance();

const PhoneNumberDirective = function ($log) {
    'ngInject';

    return {
        restrict: 'A',
        require: '?ngModel',
        scope: {
            countryCode: '=',
            nonFormatted: '=?',
        },
        link(scope, element, attrs, ctrl) {
            function validator(value) {
                let isValidForRegion = false;
                try {
                    const number = PhoneNumber.parse(value, scope.countryCode);
                    isValidForRegion = PhoneNumber.isPossibleNumber(number);
                } catch (err) {
                    $log.debug(err);
                }
                const valid = ctrl.$isEmpty(value) || isValidForRegion;
                ctrl.$setValidity('phoneNumber', valid);
                return value;
            }

            ctrl.$formatters.push(validator);
            ctrl.$parsers.push(validator);
        },
    };
};

export default PhoneNumberDirective;

还可以查看https://github.com/cwill747/angular-libphonenumber

也许它会对你有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45973389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档