Sugarcrm Sugar CRM CE 6.5联系人表单。如何修改电子邮件字段验证

Sugarcrm Sugar CRM CE 6.5联系人表单。如何修改电子邮件字段验证,sugarcrm,Sugarcrm,我认为最近电子邮件寻址协议发生了一些全球性的变化。现在我们在电子邮件地址中有了一组新的字符 例如,在西班牙,我们有字符“ñ”,现在允许在电子邮件地址中使用,例如,mañoso@example.com 我在SugarCE(版本6.5.9)中遇到的问题是,contacts email1字段中存在不允许存储此字符的验证,并且在保存表单时会出现“invalid value”错误 有人知道这个验证函数在源代码中的什么位置,这样我就可以修改它了吗 谢谢 --更新-- 在include/SugarEmailA

我认为最近电子邮件寻址协议发生了一些全球性的变化。现在我们在电子邮件地址中有了一组新的字符

例如,在西班牙,我们有字符“ñ”,现在允许在电子邮件地址中使用,例如,mañoso@example.com

我在SugarCE(版本6.5.9)中遇到的问题是,contacts email1字段中存在不允许存储此字符的验证,并且在保存表单时会出现“invalid value”错误

有人知道这个验证函数在源代码中的什么位置,这样我就可以修改它了吗

谢谢

--更新--

在include/SugarEmailAddress/SugarEmailAddress.php中找到了一些关于验证的内容,如Chad所说,但无法让我的ñ字符进行验证

请帮助我根据要求修改此代码:

//bug 40068, According to rules in page 6 of apps.ietf.org/rfc/rfc3696.html#sec-3,
//allowed special characters ! # $ % & ' * + - / = ? ^ _ ` . { | } ~ in local part 
var $regex = "/^(?:['\.\-\+&#!\$\*=\?\^_`\{\}~\/\w]+)@(?:(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|\w+(?:[\.-]*\w+)*(?:\.[\w-]{2,})+)\$/";

还有一个javascript验证

PHP正则表达式定义了两次,这在SugarCRM中似乎很正常:

SugarEmailAddress/SugarEmailAddress.php
include/SugarEmailAddress/SugarEmailAddress.php
我已将正则表达式替换为以下内容:

var $regex = '/^((?!\s).)*@.*?\.[A-Z]{2,6}$/i';
这并不完美,但对我来说已经足够好了。所以我们至少可以通过RESTAPI存储电子邮件地址

javascript验证还存在于两个位置:

include/javascript/sugar_3.js
jssource/src_files/include/javascript/sugar_3.js
我用上面的一个替换了那里的两个正则表达式:

OLD 1 : /^\s*[\w.%+\-&'#!\$\*=\?\^_`\{\}~\/]+@([A-Z0-9-]+\.)*[A-Z0-9-]+\.[\w-]{2,}\s*$/i
OLD 2 : /^.*<[A-Z0-9._%+\-&'#!\$\*=\?\^_`\{\}~]+?@([A-Z0-9-]+\.)*[A-Z0-9-]+\.[\w-]{2,}>\s*$/i
OLD 1://^\s*[\w.%+\-&'\\\$\*=\?\^{\\\\\/]+@([A-Z0-9-]+\)*[A-Z0-9-]+\.[\w-]{2,}\s*$/i

旧的2://^.*您要查找的验证代码可能在include/SugarEmailAddress/SugarEmailAddress.php中-这就是大多数电子邮件地址的繁重之处。
$regex=“[^@]+@[^@]+”