FSN#40565 berekeningen in flex velden correct beoordelen op input
svn path=/Website/trunk/; revision=33911
This commit is contained in:
@@ -73,7 +73,6 @@ function checkRequiredGroup(group)
|
|||||||
|
|
||||||
var in_use = false; // Semaphore(Seinvlag) om nested loop van de alerts van twee velden met te lange invoer te vermijden.
|
var in_use = false; // Semaphore(Seinvlag) om nested loop van de alerts van twee velden met te lange invoer te vermijden.
|
||||||
function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||||
// checkKenmerk(this, false,"N", 7, 2, null, null)
|
|
||||||
{
|
{
|
||||||
var valid = true;
|
var valid = true;
|
||||||
if (!in_use)
|
if (!in_use)
|
||||||
@@ -107,39 +106,56 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
|||||||
}
|
}
|
||||||
else if (ktype == 'N')
|
else if (ktype == 'N')
|
||||||
{
|
{
|
||||||
if (kdec)
|
var arrValue = [value];
|
||||||
|
if (value.length > 0 && value.charAt(0) == "=") // check if it is a calculation
|
||||||
{
|
{
|
||||||
var l1 = klen-kdec;
|
if (value == "=" || value.indexOf("@") > 0) // @ voor evt. string manipulatie hierna
|
||||||
var l2 = kdec;
|
valid = false;
|
||||||
// Als een punt <20>n een komma in een getal behouden we alleen de laatste
|
else
|
||||||
if (value.lastIndexOf(".") > value.lastIndexOf(","))
|
{
|
||||||
{
|
arrValue = value.substring(1).split(/[+\-/*%]/g);
|
||||||
value = value.replace(/\,/ig, "");
|
if ($.inArray("", arrValue) != -1)
|
||||||
field.value = value;
|
valid = false;
|
||||||
}
|
}
|
||||||
if (value.lastIndexOf(",") > value.lastIndexOf("."))
|
if (!valid)
|
||||||
{
|
arrValue = [];
|
||||||
value = value.replace(/\./ig, "");
|
|
||||||
field.value = value;
|
|
||||||
}
|
|
||||||
var s = '^\\-?(\\d{1,'+l1+'}[.,]?|\\d{0,'+l1+'}[.,]\\d{1,'+l2+'})$';
|
|
||||||
valid = value.match(new RegExp(s)) && valid;
|
|
||||||
if (valid) { var t = parseFloat(value.replace(',','.'));}
|
|
||||||
}
|
}
|
||||||
else
|
for (var i = 0; i < arrValue.length; i++)
|
||||||
{
|
{
|
||||||
if (klen == 1 && kmin == 0 && kmax == 1)
|
if (kdec)
|
||||||
{
|
{
|
||||||
// Checkbox; waarde in checked is altijd true of false, dus altijd valid.
|
var l1 = klen-kdec;
|
||||||
valid = true;
|
var l2 = kdec;
|
||||||
t = (field.checked?1:0);
|
// Als een punt <20>n een komma in een getal behouden we alleen de laatste
|
||||||
}
|
if (arrValue[i].lastIndexOf(".") > arrValue[i].lastIndexOf(","))
|
||||||
else
|
{
|
||||||
{
|
value.replace(arrValue[i], arrValue[i].replace(/\,/ig, ""));
|
||||||
var s = '^\\-?\\d{1,'+klen+'}[.,]?$';
|
field.value = value;
|
||||||
valid = value.match(new RegExp(s)) && valid;
|
}
|
||||||
if (valid) { var t = parseInt(value);}
|
if (arrValue[i].lastIndexOf(",") > arrValue[i].lastIndexOf("."))
|
||||||
}
|
{
|
||||||
|
value.replace(arrValue[i], arrValue[i].replace(/\./ig, ""));
|
||||||
|
field.value = value;
|
||||||
|
}
|
||||||
|
var s = '^\\-?(\\d{1,'+l1+'}[.,]?|\\d{0,'+l1+'}[.,]\\d{1,'+l2+'})$';
|
||||||
|
valid = arrValue[i].match(new RegExp(s)) && valid;
|
||||||
|
if (valid) { var t = parseFloat(arrValue[i].replace(',','.'));}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (klen == 1 && kmin == 0 && kmax == 1)
|
||||||
|
{
|
||||||
|
// Checkbox; waarde in checked is altijd true of false, dus altijd valid.
|
||||||
|
valid = true;
|
||||||
|
t = (field.checked?1:0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var s = '^\\-?\\d{1,'+klen+'}[.,]?$';
|
||||||
|
valid = arrValue[i].match(new RegExp(s)) && valid;
|
||||||
|
if (valid) { var t = parseInt(arrValue[i]);}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (valid)
|
if (valid)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user