Есть функция проверки валидности email:
var Result = false;
var emailRegEx = new RegExp("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$");
if ((Dataset('Communication1TypeID') == '{7A628D16-D7D0-4979-B8BA-B64EF54A0366}') && !IsEmptyValue(Dataset('Communication1'))) {
var emailStr=Dataset.Values('Communication1');
Result = emailRegEx.test(emailStr);
}
if (!Result) {
ShowErrorDialog('Проверьте правильность заполнения поля email!');
return;
}
}
Подскажите на каком событии её корректно вызывать перед записью в базу?
Пробовал на btnOKOnClick
if (!CheckAccountData()) {
return;
}
scr_BaseDBEdit.btnOKOnClick(Control);
var Dataset = dlData.Dataset; // Validation email
Dataset.Close();
Dataset.Open();
CheckCommunications(Dataset);
//Dataset.Close(); //&
}
Нравится
Здравствуйте.
Данные то сохраняются раньше на строке
[javascript]
scr_BaseDBEdit.btnOKOnClick(Control);
[/javascript]
Поэтому просто переделайте обе функции:
[javascript]
function btnOKOnClick(Control) {
if (!CheckAccountData()) {
return;
}
if(!CheckCommunications(dlData.Dataset)) {
return;
}
scr_BaseDBEdit.btnOKOnClick(Control);
}
function CheckCommunications(Dataset) {
var Result = false;
var emailRegEx = new RegExp("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$");
if ((Dataset('Communication1TypeID') == '{7A628D16-D7D0-4979-B8BA-B64EF54A0366}') && !IsEmptyValue(Dataset('Communication1'))) {
var emailStr=Dataset.Values('Communication1');
Result = emailRegEx.test(emailStr);
}
if (!Result) {
ShowErrorDialog('Проверьте правильность заполнения поля email!');
}
return Result;
}
[/javascript]