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.
|
||||
function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||
// checkKenmerk(this, false,"N", 7, 2, null, null)
|
||||
{
|
||||
var valid = true;
|
||||
if (!in_use)
|
||||
@@ -106,25 +105,41 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||
if (value.length + (value.split("\n").length-1) > klen) valid = false;
|
||||
}
|
||||
else if (ktype == 'N')
|
||||
{
|
||||
var arrValue = [value];
|
||||
if (value.length > 0 && value.charAt(0) == "=") // check if it is a calculation
|
||||
{
|
||||
if (value == "=" || value.indexOf("@") > 0) // @ voor evt. string manipulatie hierna
|
||||
valid = false;
|
||||
else
|
||||
{
|
||||
arrValue = value.substring(1).split(/[+\-/*%]/g);
|
||||
if ($.inArray("", arrValue) != -1)
|
||||
valid = false;
|
||||
}
|
||||
if (!valid)
|
||||
arrValue = [];
|
||||
}
|
||||
for (var i = 0; i < arrValue.length; i++)
|
||||
{
|
||||
if (kdec)
|
||||
{
|
||||
var l1 = klen-kdec;
|
||||
var l2 = kdec;
|
||||
// Als een punt <20>n een komma in een getal behouden we alleen de laatste
|
||||
if (value.lastIndexOf(".") > value.lastIndexOf(","))
|
||||
if (arrValue[i].lastIndexOf(".") > arrValue[i].lastIndexOf(","))
|
||||
{
|
||||
value = value.replace(/\,/ig, "");
|
||||
value.replace(arrValue[i], arrValue[i].replace(/\,/ig, ""));
|
||||
field.value = value;
|
||||
}
|
||||
if (value.lastIndexOf(",") > value.lastIndexOf("."))
|
||||
if (arrValue[i].lastIndexOf(",") > arrValue[i].lastIndexOf("."))
|
||||
{
|
||||
value = value.replace(/\./ig, "");
|
||||
value.replace(arrValue[i], arrValue[i].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(',','.'));}
|
||||
valid = arrValue[i].match(new RegExp(s)) && valid;
|
||||
if (valid) { var t = parseFloat(arrValue[i].replace(',','.'));}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -137,8 +152,9 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||
else
|
||||
{
|
||||
var s = '^\\-?\\d{1,'+klen+'}[.,]?$';
|
||||
valid = value.match(new RegExp(s)) && valid;
|
||||
if (valid) { var t = parseInt(value);}
|
||||
valid = arrValue[i].match(new RegExp(s)) && valid;
|
||||
if (valid) { var t = parseInt(arrValue[i]);}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (valid)
|
||||
|
||||
Reference in New Issue
Block a user