首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex电子邮件验证器-域名中允许使用in符号

Flex电子邮件验证器-域名中允许使用in符号
EN

Stack Overflow用户
提问于 2011-04-20 17:32:58
回答 1查看 998关注 0票数 1

我有一个错误,以修复工作中的英国磅符号,£,是允许在域名中。

我检查了EmailValidator源代码,可以看到它不是一个不允许的符号,而像美元符号这样的符号是:

代码语言:javascript
复制
public class EmailValidator extends Validator
{
    include "../core/Version.as";

    //--------------------------------------------------------------------------
    //
    //  Class constants
    //
    //--------------------------------------------------------------------------

    /**
     *  @private
     */
    private static const DISALLOWED_LOCALNAME_CHARS:String =
                                "()<>,;:\\\"[] `~!#$%^&*={}|/?'";
    /**
     *  @private
     */                         
    private static const DISALLOWED_DOMAIN_CHARS:String =
                                "()<>,;:\\\"[] `~!#$%^&*+={}|/?'";

如您所见,DISALLOWED_DOMAIN_CHARS字符串不包含£符号。我在考虑猴子补丁(基本上是复制整个类,编辑它,并将其添加到我的src中-对于那些不知情的人),但我们使用的是RSL,所以这将是有问题的。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-20 18:54:31

我认为您应该像这样重写mx.validators.EmailValidator类的doValidation方法,而不是克隆一个类

代码语言:javascript
复制
override protected function doValidation(value:Object):Array
        {
            var results:Array =  super.doValidation(value);

            var emailStr:String = String(value);
            var poundPos:int = emailStr.indexOf("£");
            if (poundPos != -1)
            {
                results.push(new ValidationResult(
                    true, null, "invalidChar",
                    this.invalidCharError));

            }

            return results;                      
        }

希望能有所帮助

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

https://stackoverflow.com/questions/5728228

复制
相关文章

相似问题

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