~ubuntu-branches/ubuntu/trusty/libcommons-validator-java/trusty

« back to all changes in this revision

Viewing changes to src/javascript/org/apache/commons/validator/javascript/validateFloat.js

  • Committer: Bazaar Package Importer
  • Author(s): Arnaud Vandyck
  • Date: 2004-11-19 13:35:53 UTC
  • Revision ID: james.westby@ubuntu.com-20041119133553-qtl7whjkjv9q1rbd
Tags: upstream-1.3
ImportĀ upstreamĀ versionĀ 1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
    /*$RCSfile: validateFloat.js,v $ $Revision: 1.11 $ $Date: 2004/03/28 16:53:21 $ */
 
3
    /**
 
4
    * Check to see if fields are a valid float.
 
5
    * Fields are not checked if they are disabled.
 
6
    * <p>
 
7
    * @param form The form validation is taking place on.
 
8
    */
 
9
    function validateFloat(form) {
 
10
        var bValid = true;
 
11
        var focusField = null;
 
12
        var i = 0;
 
13
        var fields = new Array();
 
14
         var formName = form.getAttributeNode("name");
 
15
 
 
16
        oFloat = eval('new ' + formName.value + '_FloatValidations()');
 
17
        for (x in oFloat) {
 
18
                var field = form[oFloat[x][0]];
 
19
                
 
20
            if ((field.type == 'hidden' ||
 
21
                field.type == 'text' ||
 
22
                field.type == 'textarea' ||
 
23
                field.type == 'select-one' ||
 
24
                field.type == 'radio') &&
 
25
                field.disabled == false) {
 
26
        
 
27
                var value = '';
 
28
                // get field's value
 
29
                if (field.type == "select-one") {
 
30
                    var si = field.selectedIndex;
 
31
                    if (si >= 0) {
 
32
                        value = field.options[si].value;
 
33
                    }
 
34
                } else {
 
35
                    value = field.value;
 
36
                }
 
37
        
 
38
                if (value.length > 0) {
 
39
                    // remove '.' before checking digits
 
40
                    var tempArray = value.split('.');
 
41
                    //Strip off leading '0'
 
42
                    var zeroIndex = 0;
 
43
                    var joinedString= tempArray.join('');
 
44
                    while (joinedString.charAt(zeroIndex) == '0') {
 
45
                        zeroIndex++;
 
46
                    }
 
47
                    var noZeroString = joinedString.substring(zeroIndex,joinedString.length);
 
48
 
 
49
                    if (!isAllDigits(noZeroString)) {
 
50
                        bValid = false;
 
51
                        if (i == 0) {
 
52
                            focusField = field;
 
53
                        }
 
54
                        fields[i++] = oFloat[x][1];
 
55
 
 
56
                    } else {
 
57
                        var iValue = parseFloat(value);
 
58
                        if (isNaN(iValue)) {
 
59
                            if (i == 0) {
 
60
                                focusField = field;
 
61
                            }
 
62
                            fields[i++] = oFloat[x][1];
 
63
                            bValid = false;
 
64
                        }
 
65
                    }
 
66
                }
 
67
            }
 
68
        }
 
69
        if (fields.length > 0) {
 
70
           focusField.focus();
 
71
           alert(fields.join('\n'));
 
72
        }
 
73
        return bValid;
 
74
    }
 
 
b'\\ No newline at end of file'