2013-09-18 9 views
0

Я думаю, что в последнее время некоторые глобальные изменения происходят в протоколах адресации электронной почты. Теперь у нас есть новый набор символов, разрешенных в адресах электронной почты.Sugar CRM CE 6.5 Контактная форма. Как изменить проверку поля электронной почты

Например, в Испании есть символ «N» и теперь это разрешено в адрес электронной почты, например mañ[email protected]

У меня есть проблема с SugarCE (версия 6.5.9), что есть подтверждение в поле контактов mail1, которое не позволяет сохранить этот символ, и при сохранении формы он дает ошибку «недопустимое значение».

Кто-нибудь знает, где в исходном коде эта функция проверки, чтобы я мог ее изменить?

Спасибо!

--update--

нашел кое-что о проверке, как Чад сказал включить/SugarEmailAddress/SugarEmailAddress.php, но не может получить мой характер ñ для подтверждения.

Пожалуйста, помогите мне изменить этот код в соответствии с требованиями:

//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,})+)\$/"; 
+0

Код проверки, который вы ищете, вероятно, включен в/SugarEmailAddress/SugarEmailAddress.php. Именно там большая часть адреса электронной почты тяжелая. –

+0

'$ regex =" [^ @] + @ [^ @] + "' – Toto

ответ

0

Существует также Java-проверки.

РНР регулярное выражение определяется дважды - который, кажется вполне нормальным в SugarCRM:

SugarEmailAddress/SugarEmailAddress.php 
include/SugarEmailAddress/SugarEmailAddress.php 

Я заменил регулярное выражение с этим:

var $regex = '/^((?!\s).)*@.*?\.[A-Z]{2,6}$/i'; 

Который не является совершенным, но работает достаточно хорошо для меня. Таким образом, мы можем хранить адреса электронной почты через REST API по крайней мере.

Javascript валидация также присутствует в двух местах:

include/javascript/sugar_3.js 
jssource/src_files/include/javascript/sugar_3.js 

Я заменил как регулярное выражение там с приведенным выше:

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

Теперь мы можем хранить IDN адресов электронной почты и адрес, которые имеют символы UTF-8 в местных частях.

Это не идеальное решение, но оно работает для меня. Может быть, это тоже работает для вас.

Смежные вопросы