We help IT Professionals succeed at work.

# Form Field Validation Logic

on
I have a form with three fields.  1 or more of these fields needs to contain at least 1 number. (all three fields can only contain a number) At least one field needs to contain a number.  At the moment you can enter Zero (0) but it must be at least the number 1.  What type of jQuery validation can I do to validate these three fields for this type of rule?
Comment
Watch Question

## View Solution Only

Most Valuable Expert 2017
Distinguished Expert 2019

Commented:

1 or more of these fields needs to contain at least 1 number
all three fields can only contain a number

Are you saying that a field must contain at least one numeric character [0-9] or are you saying that all fields must contain only numbers?

Commented:
@Julian All fields can contain a number (character [0-9]) BUT at least one of the fields MUST contain a number (character [0-9])
Most Valuable Expert 2017
Distinguished Expert 2019

Commented:
Can they contain other characters in addition to a number?
Assuming it is only numbers then is it single digits only or can it be more than one digit?

I am assuming from what you said that the following is valid.
F1: (empty)
F2: 33
F3: (empty)
Is the above valid?

Commented:
@Julian

Yes.  But the following is not:
F1: (empty)
F2: 0
F3: (empty)
It has to be at least the number 1
Most Valuable Expert 2017
Distinguished Expert 2019

Commented:
And
F1:ABC
F2:A2
F3:
I am still not certain of the exact set of rules. Can fields contain non-numerics.
If a field is allowed alpha's does F2 count?

Commented:
NO, that will not work.  Only Numeric values except the number Zero.  At least one of the three fields must contain a Numeric value.
Most Valuable Expert 2017
Distinguished Expert 2019

Commented:
Ok got it - will post back shortly
Most Valuable Expert 2017
Distinguished Expert 2019

Commented:
``````var total = 0;
\$('input').each(function(i, e) {
total += \$(e).val();
});
if (total > 0) alert('you are ok');
``````
Most Valuable Expert 2017
Distinguished Expert 2019
Commented:
Checking for strings
``````var total = 0;
\$('input').each(function(i, e) {
var val = \$(e).val();
// check if value is not a number
if (isNaN(val)) {
total = 0;
return false;
}
total += val;
});
if (total > 0) alert('you are ok');