我试图使用谷歌-libphonenumber在我的角1.4的应用程序的电话号码验证。
https://github.com/ruimarinho/google-libphonenumber
如果我在节点服务器代码中这样做,它就会像预期的那样工作。
但是,我希望在我的客户端验证指令中有这个验证。
我不确定在我的指令中插入哪个模块,以便在客户端使用这个模块。我试着注入"PhoneNumberUtil","google-libphonenumber",什么都没有。
有角1.4的例子吗?
谢谢
发布于 2017-09-26 11:04:14
因为您提到的库不是角模块,所以不能将它作为依赖项注入到指令中。
但是,您可以像这样在指令脚本中要求或导入它:
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
也许它会对你有用。
https://stackoverflow.com/questions/45973389
复制相似问题