BUG 7394 1st commit - still not functional

This commit is contained in:
Enrique Ponce De Leon
2011-11-30 18:27:11 -04:00
parent b86ad5c09c
commit 162c0bc650
6 changed files with 379 additions and 91 deletions

View File

@@ -15,10 +15,10 @@ function G_Form ( element, id )
this.id=id;
this.aElements=[];
this.ajaxServer='';
this.getElementIdByName = function (name) {
this.getElementIdByName = function (name){
if (name=='') return -1;
var j;
for(j=0;j<me.aElements.length;j++) {
for(j=0;j<me.aElements.length;j++){
if (me.aElements[j].name===name) return j;
}
return -1;
@@ -62,6 +62,7 @@ function G_Field ( form, element, name )
this.name=name;
this.dependentFields=[];
this.dependentOf=[];
this.hide = function( parentLevel ){
if (typeof(parentLevel)==='undefined') parentLevel = 1;
var parent = me.element;
@@ -69,6 +70,7 @@ function G_Field ( form, element, name )
parent = parent.parentNode;
parent.style.display = 'none';
};
this.show = function( parentLevel ){
if (typeof(parentLevel)==='undefined') parentLevel = 1;
var parent = me.element;
@@ -326,25 +328,90 @@ function G_DropDown( form, element, name )
}
G_DropDown.prototype=new G_Field();
function G_Text( form, element, name, type )
function G_Text( form, element, name)
{
var me=this;
var mType = 'text';
var me = this;
this.mType = 'text';
this.parent = G_Field;
this.browser = {};
this.checkBrowser = function(){
var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName = navigator.appName;
var fullVersion = ''+parseFloat(navigator.appVersion);
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;
// In Opera, the true version is after "Opera" or after "Version"
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
browserName = "Opera";
fullVersion = nAgt.substring(verOffset+6);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
browserName = "Microsoft Internet Explorer";
fullVersion = nAgt.substring(verOffset+5);
}
// In Chrome, the true version is after "Chrome"
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
browserName = "Chrome";
fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" or after "Version"
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
browserName = "Safari";
fullVersion = nAgt.substring(verOffset+7);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
}
// In Firefox, the true version is after "Firefox"
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
browserName = "Firefox";
fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <
(verOffset=nAgt.lastIndexOf('/')) )
{
browserName = nAgt.substring(nameOffset,verOffset);
fullVersion = nAgt.substring(verOffset+1);
if (browserName.toLowerCase()==browserName.toUpperCase()) {
browserName = navigator.appName;
}
}
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1)
fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1)
fullVersion=fullVersion.substring(0,ix);
majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
fullVersion = ''+parseFloat(navigator.appVersion);
majorVersion = parseInt(navigator.appVersion,10);
}
this.browser = {
name: browserName,
fullVersion: fullVersion,
majorVersion: majorVersion,
userAgent: navigator.userAgent
};
};
this.parent( form, element, name );
if (element) {
this.prev = element.value;
}
if (type){
//alert('Type: ' + type);
mType = type;
}
this.validate = 'Any';
this.mask='';
this.required=false;
this.formula='';
this.mask = '';
this.required = false;
this.formula = '';
this.key_Change = false;
var doubleChange=false;
var doubleChange = false;
//FUNCTIONS
@@ -354,8 +421,9 @@ function G_Text( form, element, name, type )
}
function replaceAll( text, busca, reemplaza ){
while (text.toString().indexOf(busca) != -1)
while (text.toString().indexOf(busca) != -1){
text = text.toString().replace(busca,reemplaza);
}
return text;
}
@@ -369,7 +437,7 @@ function G_Text( form, element, name, type )
}
function renderNewValue(element, keyCode){
var myField = element;
/*var myField = element;
var myValue = myField.value;
var cursorPos = 0;
var csel;
@@ -377,23 +445,35 @@ function G_Text( form, element, name, type )
var csel = me.getCursorPosition();
var startPos = csel.selectionStart;
var endPos = csel.selectionEnd;
var newValue2;
switch(keyCode){
case 8:
if (startPos>0) {
newValue = myValue.substring(0, startPos-1);
newValue = newValue + myValue.substring(endPos, myField.value.length);
if (mType !== 'text'){
newValue2 = G.toMask(newValue, me.mask, startPos);
}else{
newValue2 = G.toMask(newValue, me.mask, startPos, 'normal');
}
newValue = newValue2.result;
}
break;
case 46:
newValue = myValue.substring(0, startPos);
newValue = newValue + myValue.substring(endPos+1, myField.value.length);
if (mType !== 'text'){
newValue2 = G.toMask(newValue, me.mask, startPos);
}else{
newValue2 = G.toMask(newValue, me.mask, startPos, 'normal');
}
newValue = newValue2.result;
break;
}
return {result: newValue, cursor: startPos};
return {result: newValue, cursor: startPos};*/
}
//MEMBERS
this.setContent = function(content) {
me.element.value = '';
if (content.options) {
@@ -404,6 +484,7 @@ function G_Text( form, element, name, type )
};
this.validateKey = function(event){
/*
attributes = elementAttributesNS(element, 'pm');
if(me.element.readOnly) return true;
me.prev = me.element.value;
@@ -420,6 +501,7 @@ function G_Text( form, element, name, type )
attributes.mask=attributes.mask.replace('%S','mm');
me.mask=attributes.mask;
}
//alert(me.mask);
if (me.mask !=='' ) {
if ((keyCode < 48 || keyCode > 57) && (keyCode != 8 && keyCode != 0 && keyCode != 46)) return false;
if((keyCode===118 || keyCode===86) && event.ctrlKey) return false;
@@ -453,13 +535,13 @@ function G_Text( form, element, name, type )
break;
case "Alpha":
if (keyCode==8) return true;
patron =/[A-Za-z\sáéíóúäëïöüñçÇÑÃ�ÉÃ�ÓÚÄËÃ�Ãâ€ÃƒÅ“]/;
patron =/[A-Za-z\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/;
te = String.fromCharCode(keyCode);
return patron.test(te);
break;
case "AlphaNum":
if (keyCode==8) return true;
patron =/[A-Za-z0-9\sáéíóúäëïöüñçÇÑÃ�ÉÃ�ÓÚÄËÃ�Ãâ€ÃƒÅ“]/;
patron =/[A-Za-z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/;
te = String.fromCharCode(keyCode);
return patron.test(te);
break;
@@ -486,6 +568,8 @@ function G_Text( form, element, name, type )
newValue = newValue + myValue;
newValue = newValue + oldValue.substring(endPos, oldValue.length);
startPos++;
var newValue2;
@@ -494,7 +578,11 @@ function G_Text( form, element, name, type )
}else{
newValue2 = G.toMask(newValue, me.mask, startPos, 'normal');
}
//alert(newValue + ' -> ' + mType + ' -> ' + newValue2.result);
//alert(newValue2.result);
me.element.value = newValue2.result;
//alert(me.element.value);
me.setSelectionRange(newValue2.cursor, newValue2.cursor);
if (me.element.fireEvent){
@@ -504,12 +592,13 @@ function G_Text( form, element, name, type )
evObj.initEvent( 'change', true, true );
me.element.dispatchEvent(evObj);
}
return false;
}
return true;
}*/
};
this.putFormatNumber =function (evt) {
if((typeof(evt)==="undefined" || evt===0) && me.mask!='' ){
/*
if((typeof(evt)==="undefined" || evt===0) && me.mask!='' ){*/
// var numberSet=me.element.value.split('.');
// maskD = me.mask.split(';');
// maskL = (maskD.length >1)?maskD[1]:maskD[0];
@@ -572,11 +661,11 @@ function G_Text( form, element, name, type )
// }
// }
// }
}
//}
};
this.preValidateChange=function(event) {
var oNewValue;
/*var oNewValue;
var newValueR;
me.putFormatNumber(event);
if(me.element.readOnly) return true;
@@ -609,8 +698,9 @@ function G_Text( form, element, name, type )
}
return false;
}
//alert(me.element.value);
me.prev=me.element.value;
return true;
return true;*/
};
this.execFormula=function(event) {
@@ -623,23 +713,23 @@ function G_Text( form, element, name, type )
};
this.validateChange=function(event) {
if (me.mask ==='') return true;
/*if (me.mask ==='') return true;
var sel=me.getSelectionRange();
var newValue2=G.cleanMask( me.element.value, me.mask, sel.selectionStart );
newValue2=G.toMask( newValue2.result, me.mask, newValue2.cursor);
me.element.value = newValue2.result;
me.setSelectionRange(newValue2.cursor, newValue2.cursor);
return true;
return true;*/
};
this.value=function()
this.value = function()
{
return me.element.value;
};
//Get Cursor Position
this.getCursorPos = function () {
var textElement=me.element;
/*var textElement=me.element;
if (!document.selection) return textElement.selectionStart;
//save off the current value to restore it later,
var sOldText = textElement.value;
@@ -663,7 +753,7 @@ function G_Text( form, element, name, type )
var cursorPos = (i - sOldRange.length);
return cursorPos;
}
}
}*/
};
this.setSelectionRange = function(selectionStart, selectionEnd) {
@@ -775,6 +865,178 @@ function G_Text( form, element, name, type )
}
};
this.removeMask = function(value, cursor){
return {result: value, cursor: cursor};
};
this.replaceMask= function(cursor, type, mask, keyCode, direction){
var oldValue = me.element.value;
var valueWOMask = me.removeMask(oldValue, cursor);
var realValue = valueWOMask.result;
var realCursor = valueWOMask.cursor;
var startPos = realCursor.selectionStart;
var endPos = realCursor.selectionEnd;
switch(keyCode){
case 8: case 46:
if (startPos != endPos){
newValue = realValue.substring(0, startPos);
newValue += realValue.substring(endPos, realValue.length);
newCursor = startPos;
}else{
if (keyCode == 8){
newValue = realValue.substring(0, startPos - 1);
newValue += realValue.substring(endPos, realValue.length);
newCursor = startPos - 1;
}
else{
newValue = realValue.substring(0, startPos);
newValue += realValue.substring(endPos + 1, realValue.length);
newCursor = startPos;
}
}
break;
default:
newKey = String.fromCharCode(keyCode);
newValue = realValue.substring(0, startPos);
newValue += newKey;
newValue += realValue.substring(endPos, realValue.length);
newCursor = startPos + 1;
break;
}
alert(newValue);
return {result: newValue, cursor: newCursor};
};
this.replaceMasks= function(cursor, type, mask, keyCode, direction){
var aMasks = mask.split(';');
var aValues = [];
for(m=0; m < aMasks.length; m++){
aValues.push(me.replaceMask(cursor, type, aMasks[m], keyCode, direction))
}
index = 0;
minMask = aValues[0].result;
if (aValues.length > 1){
for(v=1; v < aValues.length; v++){
if (aValues[v].result < minMask){
minMask = aValues[v].result;
index = v;
}
}
}
return aValues[index];
};
this.applyMask = function(event){
var outData = null;
if (me.mask != ''){
var selCursor = me.getCursorPosition();
switch(event.keyCode){
case 35: case 36: case 37: case 38: case 39: case 40: case 13:
break;
case 8: case 46: default:
switch(me.mType){
case 'text':
outData = me.replaceMasks(selCursor, 'text', me.mask, event.keyCode,'forward');
break;
case 'percentage':
case 'currency':
outData = me.replaceMasks(selCursor, 'number', me.mask, event.keyCode,'reverse');
break;
case 'date':
outData = me.replaceMasks(selCursor, 'date', me.mask, event.keyCode,'forward');
break;
}
break;
}
}
return outData;
};
this.pressKeyDown = function(event){
me.checkBrowser();
var keyValid = true;
//CHECK IF KEY IS VALID AND AFFECT THE FIELD'S VALUE
switch(event.keyCode){
case 8: //BACKSPACE
case 46: //DELETE
keyValid = (me.mask == '');
break;
case 35: //HOME
case 36: //END
case 37: //LEFT KEY
case 38: //TOP KEY
case 39: //RIGHT KEY
case 40: //BOTTOM KEY
keyValid = true;//
break;
case 13:
keyValid = true;
break;
default:
switch(me.validate){
case 'Any':
keyValid = true;
break;
case 'Int':
keyValid = ((event.keyCode > 47) && (event.keyCode < 58) || (event.keyCode > 95) && (event.keyCode < 106));
break;
case 'Real':
keyValid = ((event.keyCode > 47) && (event.keyCode < 58) || (event.keyCode > 95) && (event.keyCode < 106));
keyValid = keyValid || (event.keyCode == 109);
keyValid = keyValid || (event.keyCode == 110);
keyValid = keyValid || (event.keyCode == 190);
break;
case 'Alpha':
patron =/[a-zA-Z]/; // \sÃÆÃ¡ÃÆÃ©ÃÆÃ­ÃÆÃ³ÃÆÃºÃÆÃ¤ÃÆÃ«ÃÆÃ¯ÃÆÃ¶ÃÆÃ¼ÃÆÃ±ÃÆÃ§ÃÆÃ¢â¬Â¡ÃƒÆÃ¢â¬ËœÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬Â°ÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬Å“ÃÆÃ…¡ÃÆÃ¢â¬Å¾ÃƒÆÃ¢â¬Â¹ÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬â€œÃƒÆÃ…“]/;
key = String.fromCharCode(event.keyCode);
keyValid = patron.test(key);
break;
case 'AlphaNum':
patron =/[a-zA-Z0-9\sÃÆÃ¡ÃÆÃ©ÃÆÃ­ÃÆÃ³ÃÆÃºÃÆÃ¤ÃÆÃ«ÃÆÃ¯ÃÆÃ¶ÃÆÃ¼ÃÆÃ±ÃÆÃ§ÃÆÃ¢â¬Â¡ÃƒÆÃ¢â¬ËœÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬Â°ÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬Å“ÃÆÃ…¡ÃÆÃ¢â¬Å¾ÃƒÆÃ¢â¬Â¹ÃƒÆÃ¯Â¿Â½ÃƒÆÃ¢â¬â€œÃƒÆÃ…“]/;
key = String.fromCharCode(event.keyCode);
keyValid = patron.test(key);
break;
default:
var k = new leimnud.module.validator({
valid :[me.validate],
key :event,
lang :(typeof(me.language)!=='undefined')?me.language:"en"
});
keyValid = k.result();
break;
}
}
//APPLIES MASK AND RETURNS VALUES
if (keyValid){
maskResult = me.applyMask(event);
if (maskResult != null){
me.element.value = maskResult.result;
me.setSelectionRange(maskResult.cursor, maskResult.cursor);
//me.setSelectionRange(0, 0);
}
//LAUNCH ON_CHANGE EVENT
if (me.element.fireEvent){
me.element.fireEvent("onchange");
}else{
var evObj = document.createEvent('HTMLEvents');
evObj.initEvent( 'change', true, true );
me.element.dispatchEvent(evObj);
}
return true;
}
else{
if (me.browser.name == 'Chrome'){
event.returnValue = false;
}
else{
return false;
}
}
};
if(this.element) {
this.element.onblur = function(event)
{
@@ -784,7 +1046,7 @@ function G_Text( form, element, name, type )
if(this.validate=="Email")
{
//var pat=/^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/;
//var pat=/^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/;
var pat=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
if(!pat.test(this.element.value))
{
@@ -796,7 +1058,6 @@ function G_Text( form, element, name, type )
else {
this.element.className=this.element.className.split(" ")[0]+" FormFieldInvalid";
}
}
else
{
@@ -805,7 +1066,7 @@ function G_Text( form, element, name, type )
}
if (this.strTo) {
switch (this.strTo) {
switch (this.strTo){
case 'UPPER':
this.element.value = this.element.value.toUpperCase();
break;
@@ -825,26 +1086,31 @@ function G_Text( form, element, name, type )
if (!element) return;
if (!window.event){
this.element.onkeypress = this.validateKey;
this.element.onkeydown = this.preValidateChange;
//this.element.onchange = this.updateDepententFields;
//THIS ASSIGN FUNCTIONS FOR FIREFOX/MOZILLA
this.element.onkeypress = this.pressKeyDown;
//alert('window.event');
/*this.element.onkeypress = this.validateKey;
this.element.onkeydown = this.preValidateChange;*/
}else{
leimnud.event.add(this.element,'keypress',this.validateKey);
//leimnud.event.add(this.element,'change',this.updateDepententFields);
leimnud.event.add(this.element,'keydown',this.preValidateChange);
//leimnud.event.add(this.element,'keypress',this.execFormula);
//THIS ASSIGN FUNCTIONS FOR IE/CHROME
leimnud.event.add(this.element,'keypress',this.pressKeyDown);
//alert('validateKey');
/*leimnud.event.add(this.element,'keypress',this.validateKey);
leimnud.event.add(this.element,'keydown',this.preValidateChange); */
}
leimnud.event.add(this.element,'change',this.updateDepententFields);
}
//leimnud.event.add(this.element,'change',this.updateDepententFields);
};
G_Text.prototype=new G_Field();
function G_Percentage( form, element, name )
{
var me=this;
this.parent = G_Text;
this.parent( form, element, name, 'percentage');
this.parent( form, element, name);
this.validate = 'Int';
this.mType = 'percentage';
this.mask= '###.##';
this.comma_separator = ".";
}
G_Percentage.prototype=new G_Field();
@@ -852,9 +1118,11 @@ function G_Currency( form, element, name )
{
var me=this;
this.parent = G_Text;
this.parent( form, element, name, 'currency');
this.parent( form, element, name);
this.validate = 'Int';
this.mType = 'currency';
this.mask= '_###,###,###,###,###;###,###,###,###,###.00';
this.comma_separator = ".";
}
G_Currency.prototype=new G_Field();
@@ -873,6 +1141,7 @@ function G_Date( form, element, name )
var me=this;
this.parent = G_Text;
this.parent( form, element, name );
this.mType = 'date';
this.mask= 'dd-mm-yyyy';
}
G_Date.prototype=new G_Field();
@@ -1405,7 +1674,7 @@ function G()
var objId=G.getId(element);
switch (element.tagName){
case 'FORM':
return eval('form_'+objId);
return eval('form_' + objId);
break;
default:
if (element.form) {
@@ -2091,7 +2360,7 @@ var validateForm = function(sRequiredFields) {
if(getField(aRequiredFields[i].name).value!='') {
var email = getField(aRequiredFields[i].name);
//var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
//var filter = /^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/;
//var filter = /^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/;
var filter =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (!filter.test(email.value)&&email.value!="") {
fielEmailInvalid.push(aRequiredFields[i].label);

View File

@@ -1598,6 +1598,7 @@ class XmlForm_Field_Currency extends XmlForm_Field_SimpleText {
var $formula = '';
var $function = '';
var $gridFieldType = 'currency';
var $comma_separator = '.';
/**
* render the field in a dynaform
@@ -1624,6 +1625,7 @@ class XmlForm_Field_Currency extends XmlForm_Field_SimpleText {
$html .= $this->NSDefaultValue().' ';
$html .= $this->NSRequiredValue().' ';
$html .= $this->NSGridType().' ';
$html .= 'pm:decimal_separator="'.$this->comma_separator.'" ';
$html .= '/>';
}else{ //VIEW MODE
$html .= $this->htmlentities($value, ENT_COMPAT, 'utf-8');
@@ -1673,6 +1675,7 @@ class XmlForm_Field_Percentage extends XmlForm_Field_SimpleText {
var $formula = '';
var $function = '';
var $gridFieldType = 'percentage';
var $comma_separator = '.';
function render( $value = NULL, $owner = NULL) {
@@ -1692,6 +1695,7 @@ class XmlForm_Field_Percentage extends XmlForm_Field_SimpleText {
$html .= 'onkeypress="'.$this->htmlentities($onkeypress, ENT_COMPAT, 'utf-8').'" ';
$html .= $this->NSDefaultValue().' ';
$html .= $this->NSRequiredValue().' ';
$html .= 'pm:decimal_separator="' + $this->comma_separator + '" ';
$html .= '/>';
}else{ //VIEW MODE
$html .= $this->htmlentities($value, ENT_COMPAT, 'utf-8');

View File

@@ -54,6 +54,11 @@
<td class="FormLabel" width="{$form_labelWidth}">{$PME_VALIDATE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_VALIDATE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_VALIDATE}</td>
</tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_COMMA_SEPARATOR}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_VALIDATE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_COMMA_SEPARATOR}</td>
</tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_MASK}</td>

View File

@@ -33,7 +33,9 @@ SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
<PME_VALIDATE type="dropdown" defaultvalue="Real">
<en>Validate<option name="Int">Integer</option><option name="Real">Real Number</option></en>
</PME_VALIDATE>
<PME_COMMA_SEPARATOR type="dropdown" defaultvalue=".">
<en>Decimal Separator<option name=".">Period [.]</option><option name=",">Comma [,]</option></en>
</PME_COMMA_SEPARATOR>
<PME_MASK type="text" maxlength="50" size="50" defaultvalue="###,###,###,###.##">
<en>Mask</en>
</PME_MASK>

View File

@@ -49,6 +49,11 @@
<td class="FormLabel" width="{$form_labelWidth}">{$PME_VALIDATE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_VALIDATE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_VALIDATE}</td>
</tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_COMMA_SEPARATOR}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_VALIDATE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_COMMA_SEPARATOR}</td>
</tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_MASK}</td>

View File

@@ -32,6 +32,9 @@ SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
<PME_VALIDATE type="dropdown" defaultvalue="Real">
<en>Validate<option name="Int">Integer </option><option name="Real">Real Number</option></en>
</PME_VALIDATE>
<PME_COMMA_SEPARATOR type="dropdown" defaultvalue=".">
<en>Decimal Separator<option name=".">Period [.]</option><option name=",">Comma [,]</option></en>
</PME_COMMA_SEPARATOR>
<PME_MASK type="text" maxlength="50" size="30" defaultvalue="###.## %">
<en>Mask</en>