2
/*$RCSfile: validateRequired.js,v $ $Revision: 1.13 $ $Date: 2004/03/28 16:53:21 $ */
4
* Check to see if fields must contain a value.
5
* Fields are not checked if they are disabled.
7
* @param form The form validation is taking place on.
10
function validateRequired(form) {
12
var focusField = null;
14
var fields = new Array();
15
var formName = form.getAttributeNode("name");
17
oRequired = eval('new ' + formName.value + '_required()');
19
for (x in oRequired) {
20
var field = form[oRequired[x][0]];
22
if ((field.type == 'hidden' ||
23
field.type == 'text' ||
24
field.type == 'textarea' ||
25
field.type == 'file' ||
26
field.type == 'checkbox' ||
27
field.type == 'select-one' ||
28
field.type == 'password') &&
29
field.disabled == false) {
33
if (field.type == "select-one") {
34
var si = field.selectedIndex;
36
value = field.options[si].value;
38
} else if (field.type == 'checkbox') {
46
if (trim(value).length == 0) {
51
fields[i++] = oRequired[x][1];
54
} else if (field.type == "select-multiple") {
55
var numOptions = field.options.length;
57
for(loop=numOptions-1;loop>=0;loop--) {
58
if(field.options[loop].selected) {
60
value = field.options[loop].value;
64
if(lastSelected < 0 || trim(value).length == 0) {
68
fields[i++] = oRequired[x][1];
71
} else if ((field.length > 0) && (field[0].type == 'radio' || field[0].type == 'checkbox')) {
73
for (loop=0;loop < field.length;loop++) {
74
if (field[loop].checked) {
76
break; // only one needs to be checked
81
focusField = field[0];
83
fields[i++] = oRequired[x][1];
88
if (fields.length > 0) {
90
alert(fields.join('\n'));
95
// Trim whitespace from left and right sides of s.
97
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
b'\\ No newline at end of file'