BUG 10275 Problemas en campos currency con las mascaras SOLVED
- not validated the mask. - was add validated for fields currency and percentage.
This commit is contained in:
@@ -101,6 +101,7 @@ SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
|
|||||||
var fieldForm="currency";
|
var fieldForm="currency";
|
||||||
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
|
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
|
||||||
var fieldVal=getField("PME_VALIDATE",fieldForm);
|
var fieldVal=getField("PME_VALIDATE",fieldForm);
|
||||||
|
var fieldSeparator=getField("PME_COMMA_SEPARATOR",fieldForm);
|
||||||
var fieldMask=getField("PME_MASK",fieldForm);
|
var fieldMask=getField("PME_MASK",fieldForm);
|
||||||
var savedFieldName=fieldName.value;
|
var savedFieldName=fieldName.value;
|
||||||
var pme_validating;
|
var pme_validating;
|
||||||
@@ -108,6 +109,7 @@ fieldName.focus();
|
|||||||
fieldName.select();
|
fieldName.select();
|
||||||
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
|
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
|
||||||
leimnud.event.add(fieldVal, 'change', {method:checkVal, instance:fieldVal, event:true});
|
leimnud.event.add(fieldVal, 'change', {method:checkVal, instance:fieldVal, event:true});
|
||||||
|
leimnud.event.add(fieldSeparator, 'change', {method:checkSeparator, instance:fieldSeparator, event:true});
|
||||||
leimnud.event.add(fieldMask, 'change', {method:checkVal, instance:fieldMask, event:true});
|
leimnud.event.add(fieldMask, 'change', {method:checkVal, instance:fieldMask, event:true});
|
||||||
function verifyFieldName(){
|
function verifyFieldName(){
|
||||||
pme_validating=true;
|
pme_validating=true;
|
||||||
@@ -126,20 +128,66 @@ function cancel(){
|
|||||||
currentPopupWindow.remove();
|
currentPopupWindow.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function replaceAll( text, search, change ) {
|
||||||
|
while (text.toString().indexOf(search) != -1) {
|
||||||
|
text = text.toString().replace(search,change);
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkSeparator() {
|
||||||
|
var separatorOld;
|
||||||
|
var separatorNew;
|
||||||
|
switch (fieldSeparator.value) {
|
||||||
|
case '.':
|
||||||
|
separatorOld = ',';
|
||||||
|
separatorNew = '.';
|
||||||
|
break;
|
||||||
|
case ',':
|
||||||
|
separatorOld = '.';
|
||||||
|
separatorNew = ',';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
separatorOld = ',';
|
||||||
|
separatorNew = '.';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var mask = fieldMask.value;
|
||||||
|
if (fieldVal.value !== 'Int'){
|
||||||
|
var amount = fieldMask.value.length;
|
||||||
|
var separator = mask.substring(amount-3, amount-2);
|
||||||
|
mask = mask.substring(0, amount-3);
|
||||||
|
}
|
||||||
|
mask = replaceAll(mask , separatorNew, separatorOld);
|
||||||
|
if (fieldVal.value !== 'Int'){
|
||||||
|
mask = mask.concat(separatorNew, '##');
|
||||||
|
}
|
||||||
|
fieldMask.value = mask;
|
||||||
|
}
|
||||||
|
|
||||||
function checkVal(){
|
function checkVal(){
|
||||||
if (fieldVal.value === 'Int'){
|
if (fieldVal.value === 'Int'){
|
||||||
aux = fieldMask.value;
|
aux = fieldMask.value;
|
||||||
aux = aux.replace('.000','');
|
aux = aux.replace('.000','');
|
||||||
aux = aux.replace('.00','');
|
var amount = fieldMask.value.length;
|
||||||
aux = aux.replace('.0','');
|
var sw = 0;
|
||||||
aux = aux.replace('.##','');
|
var i = 0;
|
||||||
aux = aux.replace('.#','');
|
while (sw == 0) {
|
||||||
aux = aux.replace('.','');
|
if(aux.charAt(amount - i - 1) == ',' || aux.charAt(amount - i - 1) == '.') {
|
||||||
|
sw = 1;
|
||||||
|
} else {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i <= 2) {
|
||||||
|
aux = aux.substring(0, amount - i - 1);
|
||||||
|
}
|
||||||
fieldMask.value = aux;
|
fieldMask.value = aux;
|
||||||
}
|
}
|
||||||
if (fieldVal.value === 'Real'){
|
if (fieldVal.value === 'Real'){
|
||||||
fieldMask.value = fieldMask.value+'.##';
|
fieldMask.value = fieldMask.value+'.##';
|
||||||
}
|
}
|
||||||
|
checkSeparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
]]></PME_JS>
|
]]></PME_JS>
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
|
|||||||
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
|
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
|
||||||
var fieldVal=getField("PME_VALIDATE",fieldForm);
|
var fieldVal=getField("PME_VALIDATE",fieldForm);
|
||||||
var fieldMask=getField("PME_MASK",fieldForm);
|
var fieldMask=getField("PME_MASK",fieldForm);
|
||||||
|
var fieldSeparator=getField("PME_COMMA_SEPARATOR",fieldForm);
|
||||||
var savedFieldName=fieldName.value;
|
var savedFieldName=fieldName.value;
|
||||||
var pme_validating;
|
var pme_validating;
|
||||||
fieldName.focus();
|
fieldName.focus();
|
||||||
@@ -115,6 +116,7 @@ SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
|
|||||||
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
|
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
|
||||||
leimnud.event.add(fieldVal, 'change', {method:checkVal, instance:fieldVal, event:true});
|
leimnud.event.add(fieldVal, 'change', {method:checkVal, instance:fieldVal, event:true});
|
||||||
leimnud.event.add(fieldMask, 'change', {method:checkVal, instance:fieldMask, event:true});
|
leimnud.event.add(fieldMask, 'change', {method:checkVal, instance:fieldMask, event:true});
|
||||||
|
leimnud.event.add(fieldSeparator, 'change', {method:checkSeparator, instance:fieldSeparator, event:true});
|
||||||
|
|
||||||
var dyntype="@#PME_DYN_TYPE";
|
var dyntype="@#PME_DYN_TYPE";
|
||||||
|
|
||||||
@@ -128,17 +130,57 @@ function cancel(){
|
|||||||
currentPopupWindow.remove();
|
currentPopupWindow.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkSeparator() {
|
||||||
|
aux = fieldMask.value;
|
||||||
|
var separatorOld;
|
||||||
|
var separatorNew;
|
||||||
|
switch (fieldSeparator.value) {
|
||||||
|
case '.':
|
||||||
|
separatorOld = ',';
|
||||||
|
separatorNew = '.';
|
||||||
|
break;
|
||||||
|
case ',':
|
||||||
|
separatorOld = '.';
|
||||||
|
separatorNew = ',';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
separatorOld = ',';
|
||||||
|
separatorNew = '.';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
aux = aux.replace(separatorOld, separatorNew);
|
||||||
|
fieldMask.value = aux;
|
||||||
|
}
|
||||||
|
|
||||||
function checkVal(){
|
function checkVal(){
|
||||||
if (fieldVal.value === 'Int'){
|
|
||||||
aux = fieldMask.value;
|
aux = fieldMask.value;
|
||||||
aux = aux.replace('.000','');
|
aux = aux.replace('.000','');
|
||||||
aux = aux.replace('.00','');
|
var amount = fieldMask.value.length;
|
||||||
aux = aux.replace('.0','');
|
var sw = 0;
|
||||||
aux = aux.replace('.##','');
|
var i = 0;
|
||||||
aux = aux.replace('.#','');
|
decimal = ' %';
|
||||||
aux = aux.replace('.','');
|
while (sw == 0 && i < amount) {
|
||||||
|
if(aux.charAt(amount - i - 1) == ',' || aux.charAt(amount - i - 1) == '.') {
|
||||||
|
sw = 1;
|
||||||
|
} else {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sw == 1) {
|
||||||
|
decimal = aux.substring(amount - i, amount);
|
||||||
|
aux = aux.substring(0, amount - i - 1);
|
||||||
|
aux = aux.concat(' %');
|
||||||
|
}
|
||||||
|
if (fieldVal.value === 'Real'){
|
||||||
|
var index = aux.indexOf(' ');
|
||||||
|
aux = aux.substring(0, index);
|
||||||
|
if (decimal != ' %') {
|
||||||
|
aux = aux.concat(fieldSeparator.value, decimal);
|
||||||
|
} else {
|
||||||
|
aux = aux.concat(fieldSeparator.value,'##',' %');
|
||||||
|
}
|
||||||
|
}
|
||||||
fieldMask.value = aux;
|
fieldMask.value = aux;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
]]></PME_JS>
|
]]></PME_JS>
|
||||||
|
|||||||
Reference in New Issue
Block a user