diff --git a/src/helpers/convertHelper.ts b/src/helpers/convertHelper.ts index 8857834..d797126 100644 --- a/src/helpers/convertHelper.ts +++ b/src/helpers/convertHelper.ts @@ -1,4 +1,5 @@ import ms from "ms"; +import validator from "validator"; export abstract class TypeConverter { abstract fromString(value: string): T; @@ -68,30 +69,7 @@ export abstract class EmailTypeConverter extends TypeConverter { return value; } validate(value: string): boolean { - var tester = - /^[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/; - if (!value) return false; - - var emailParts = value.split("@"); - - if (emailParts.length !== 2) return false; - - var account = emailParts[0]; - var address = emailParts[1]; - - if (account.length > 64) return false; - else if (address.length > 255) return false; - - var domainParts = address.split("."); - - if ( - domainParts.some(function (part) { - return part.length > 63; - }) - ) - return false; - - return tester.test(value); + return validator.isEmail(value); } }