Difference between revisions of "JavaScript Validation"
(→To make a field conditionally mandatory) |
m (→To make a field conditionally mandatory) |
||
Line 141: | Line 141: | ||
If you wish to make a field mandatory ''only if'' the value ''Yes'' is selected from a dropdown field, for example, use: | If you wish to make a field mandatory ''only if'' the value ''Yes'' is selected from a dropdown field, for example, use: | ||
− | @value@!="" | + | @value@!="" || frm.cf_''fieldid''.value!="Yes" |
in the JavaScript validation setting where: | in the JavaScript validation setting where: |
Revision as of 13:41, 22 October 2013
Contents
- 1 To accept only certain values
- 2 To limit the amount of characters that can be entered into a field
- 3 To have a custom field only accept values in a range
- 4 To perform pattern matching
- 5 To allow only numbers and one other character
- 6 To allow letters and a space
- 7 To allow only integers
- 8 To validate proper Email Address
- 9 To validate against a different custom field
- 10 To make a field conditionally mandatory
- 11 See Also
In addition to the built-in Numeric, Alphabetic, Date and Allow Empty validations available on Custom Fields, users can also define their own validation or criteria for a custom field by creating a validation based on JavaScript syntax.
The JavaScript syntax can be entered into the JavaScript Validation field on the custom field settings page.
To accept only certain values
>n or @value@>n
If @value@ is not found, the system will automatically put it at the very front of the validation criteria.
Where
n is any number
> means greater than
< means less than
>= means greater than or equal to
<= means less than or equal to
== means equal to
!= means Not equal to
Example
To have a custom field only accept values larger than 100, enter
>100 or @value@>100 in the Custom box.
To limit the amount of characters that can be entered into a field
@value@.length<n
Where
n is any number
Example
To limit the number of characters in a field to 35 or less
@value@.length<35
To have a custom field only accept values in a range
@value@>n && @value@<n
Where
n is any number
&& means "AND"
|| means "OR"
! means "Not"
() means brackets :-)
Example
To have a custom field only accept values between 100 and 200, enter
" @value@>99 && @value@<201 "
To perform pattern matching
isMatch(@value@, pattern, isEmptyOK)
Where pattern is
L = Letter
N = Number
A = Alphanumeric
AND
isEmptyOK is
True or False
Example
To validate 9 digits SIN number, put this into the box
isMatch(@value@, 'NNNNNNNNN', false)
To allow only numbers and one other character
isFloat(@value@.replace(/c/g,""),true)
where
c is any character
Example
To allow a field to contain only numbers and a semi-colon
isFloat(@value@.replace(/;/g,""),true)
To allow letters and a space
isAlphabetic(@value@,Allow Empty,Allow Space)
where
Allow Empty - true/false
Allow Space - true/false
Example
To allow a field to contain only letters and a space
isAlphabetic(@value@,true,true)
To allow only integers
parseInt(@value@)==@value@
To validate proper Email Address
isEmail(@value@)
To validate against a different custom field
You can setup two fields (Amount Requested, Project Budget), and use the following to syntax to check the value entered on one of them against the other. Put this on the Amount Requested field to check if requested is more than the project budget
frm.cf_@Project Budget.id@.value>=@value@
To make a field conditionally mandatory
If you wish to make a field mandatory only if the value Yes is selected from a dropdown field, for example, use:
@value@!="" || frm.cf_fieldid.value!="Yes"
in the JavaScript validation setting where:
- fieldid is the custom field ID of the dropdown field