diff --git a/haxe/ui/locale/LocaleManager.hx b/haxe/ui/locale/LocaleManager.hx index d8fe3522f..23b109337 100644 --- a/haxe/ui/locale/LocaleManager.hx +++ b/haxe/ui/locale/LocaleManager.hx @@ -289,6 +289,22 @@ class LocaleManager { return translateTo(language, id, param0, param1, param2, param3); } + /** + To use a translation unattached to a component + **/ + public function stringToTranslation(s:String):String { + var fixedExpr = ExpressionUtil.stringToLanguageExpression(s, "LocaleManager"); + if (StringTools.endsWith(fixedExpr, ";") == true) { + fixedExpr = fixedExpr.substr(0, fixedExpr.length - 1); + } + var context = { + LocaleManager: LocaleManager, + MathUtil: MathUtil + }; + var value = SimpleExpressionEvaluator.eval(fixedExpr, context); + return value; + } + private var _localeStringMap:Map> = new Map>(); public function translateTo(lang:String, id:String, param0:Any = null, param1:Any = null, param2:Any = null, param3:Any = null) { lang = StringTools.replace(lang, "-", "_"); diff --git a/haxe/ui/validators/EmailValidator.hx b/haxe/ui/validators/EmailValidator.hx index 3644a9d23..990dfd673 100644 --- a/haxe/ui/validators/EmailValidator.hx +++ b/haxe/ui/validators/EmailValidator.hx @@ -4,7 +4,7 @@ class EmailValidator extends PatternValidator { public function new() { super(); invalidMessage = "Invalid email address"; - pattern = ~/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/gm; + pattern = ~/^[^\-@\s:&!\/\\]+([\.-]?[^@\s:&!\/\\]+)*@[^\-@\s:&!\/\\\.]+([\.-]?[^@\s:&!\/\\\.]+)*(\.[^\-@\s:&!\/\\\.]{2,})+$/gm; //pattern = new EReg("^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "gm"); } } \ No newline at end of file