|
EchoPoint 1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object echopoint.validation.SimpleRule
SimpleRule
is a ValidationRule that can perform
client side validation. It will run the rule depending
on the OR'ed together settings of the runOptions property.
The server side isValid() method always returns true, so you will need to derive a new rule in order to make it useful for server side validation.
Field Summary |
Fields inherited from interface echopoint.validation.ValidationRule |
RUN_ON_BLUR, RUN_ON_SUBMIT |
Constructor Summary | |
SimpleRule(java.lang.String jsRule,
java.lang.String errorMessage)
Constructs a SimpleRule with the specified javascript
rule and error message that will run on blur and server submit; |
|
SimpleRule(java.lang.String jsRule,
java.lang.String errorMessage,
int runOptions)
Constructs a SimpleRule with the specified javascript
rule and error message that will run depnding on the runOptions
provided, which can be ValidationRule.RUN_ON_BLUR | ValidationRule.RUN_ON_SUBMIT |
Method Summary | |
java.lang.String |
getErrorMessage(Validateable validateable,
java.lang.String fieldName)
Returns the error message to be displayed in case of validation failure. |
java.lang.String |
getJS(Validateable validateable,
int runOption)
This returns a JavaScript expression that can be used to validate the rule on the client. |
java.lang.String |
getJSErrorMessage(Validateable validateable,
java.lang.String fieldName)
Returns the error message to be displayed in case of client side JavaScript validation failure. |
int |
getRunOptions()
Returns a OR'ed integer of run options allowed. |
boolean |
isValid(Validateable validateable)
Always returns true to server side validation. |
void |
setErrorMessage(java.lang.String string)
Sets the error message to be displayed in case of validation failure. |
void |
setJsRule(java.lang.String rule)
Sets the client side JavaScript rule to be run for validation. |
void |
setRunOptions(int runOptions)
Returns a OR'ed integer of run options allowed. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SimpleRule(java.lang.String jsRule, java.lang.String errorMessage)
SimpleRule
with the specified javascript
rule and error message that will run on blur and server submit;
jsRule
- - the javascript client validation ruleerrorMessage
- - the error message to display if the rule failspublic SimpleRule(java.lang.String jsRule, java.lang.String errorMessage, int runOptions)
SimpleRule
with the specified javascript
rule and error message that will run depnding on the runOptions
provided, which can be ValidationRule.RUN_ON_BLUR | ValidationRule.RUN_ON_SUBMIT
jsRule
- - the javascript client validation ruleerrorMessage
- - the error message to display if the rule failsrunOptions
- - can be ValidationRule.RUN_ON_BLUR | ValidationRule.RUN_ON_SUBMITMethod Detail |
public java.lang.String getErrorMessage(Validateable validateable, java.lang.String fieldName)
getErrorMessage
in interface ValidationRule
validateable
- - the Validateable in playfieldName
- - the field name of the Validateable
ValidationRule.getErrorMessage(Validateable, String)
public java.lang.String getJSErrorMessage(Validateable validateable, java.lang.String fieldName)
getJSErrorMessage
in interface ValidationRule
validateable
- - the Validateable in playfieldName
- - the field name of the Validateable
ValidationRule.getJSErrorMessage(echopoint.validation.Validateable, java.lang.String)
public void setErrorMessage(java.lang.String string)
string
- - the error message to be displayed in case of validation failure.public java.lang.String getJS(Validateable validateable, int runOption)
ValidationRule
The runOption parameter is used to control what rules is returned for which client event, field blur or server submit. This allows you to fine tune when rules are run. In general you probably want them to run on both field blur and server submit.
If you return null, then no rule will be run.
Two JS variables will be available into the expression. The first is called "value" which is the string value to be validated. The other is called "element", which is the HTML elment that is being validated.
The pre-built functions available inside the rules are listed below :
isIntegerStrict(value) |
Returns true if the value is an positive Integer value.
Example : isIntegerStrict('123') == true isIntegerStrict(' 123 ') == false |
isInteger(value) |
Returns the same as isIntegerStrict() except white-space is trimmed first.
Example : isIntegerStrict('123') == true isIntegerStrict(' 123 ') == true isIntegerStrict(' 123a ') == false |
isSignedIntegerStrict(value) |
Returns true if the value is an positive or negative Integer value
Example : isSignedIntegerStrict('123') == true isSignedIntegerStrict('-123') == true isSignedIntegerStrict('+123 ') == false isSignedIntegerStrict('123+') == false |
isSignedInteger(value) |
Returns the same as isSignedIntegerStrict() except white-space is trimmed first
Example : isSignedInteger('123') == true isSignedInteger('-123') == true isSignedInteger('+123 ') == true isSignedInteger('123+') == false |
isDecimalStrict(value) |
Returns true if the value is an positive Decimal value
Example : isDecimalStrict('123') == true isDecimalStrict('123.23') == true isDecimalStrict('123.23 ') == false isDecimalStrict('+123.34') == false |
isDecimal(value) |
Returns the same as isDecimalStrict() except white-space is trimmed first
Example : isDecimal('123') == true isDecimal('123.23') == true isDecimal('123.23 ') == true isDecimal('+123.34') == false |
isSignedDecimalStrict(value) |
Returns true if the value is an positive or negative Decimal value
Example : isSignedDecimalStrict('123') == true isSignedDecimalStrict('+123.23') == true isSignedDecimalStrict('-123.23 ') == false isSignedDecimalStrict('+123.34 ') == false |
isSignedDecimal(value) |
Returns the same as isSignedDecimalStrict() except white-space is trimmed first
Example : isSignedDecimal('123') == true isSignedDecimal('+123.23') == true isSignedDecimal('-123.23 ') == true isSignedDecimal('+123.34 ') == true isSignedDecimal('123.34+ ') == false |
isCurrencyStrict(value) |
Returns true if the value is an positive Currency value. This can
include an optional $ at the start
Example : isCurrencyStrict('123') == true isCurrencyStrict('123.34 ') == true isCurrencyStrict('$123.23') == true isCurrencyStrict('$123.34 ') == false isCurrencyStrict('-$123.23') == false |
isCurrency(value) |
Returns the same as isCurrencyStrict() except white-space is trimmed first
Example : isCurrency('123') == true isCurrency('123.34 ') == true isCurrency('$123.23') == true isCurrency('$123.34 ') == true isCurrency('-$123.23') == false |
isSignedCurrencyStrict(value) |
Returns true if the value is an positive or negative Currency value. This can
include an optional $ at the start and brackets to indicate negative
as in (1234.00) or ($1234.00)
Example : isSignedCurrencyStrict('123') == true isSignedCurrencyStrict('123.34 ') == true isSignedCurrencyStrict('$123.23') == true isSignedCurrencyStrict('($123.23)') == true isSignedCurrencyStrict('(123.23)') == true isSignedCurrencyStrict('$123.34 ') == false isSignedCurrencyStrict('-$123.23') == false isSignedCurrencyStrict('($123.23') == false |
isSignedCurrency(value) |
Returns the same as isSignedCurrencyStrict() except white-space is trimmed first
Example : isSignedCurrency('123') == true isSignedCurrency('123.34 ') == true isSignedCurrency('$123.23') == true isSignedCurrency(' ($123.23) ') == true isSignedCurrency('(123.23)') == true isSignedCurrency('$123.34 ') == true isSignedCurrency('-$123.23') == false isSignedCurrency('($123.23') == false |
insideRange(value, min, max) |
Returns true if the value is >= min and <= max
Example : // assume value is '40' insideRange(parseInt(value), 20, 100) == true // assume value is '10' insideRange(parseInt(value), 20, 100) == true // assume value is '40' insideRange(value, 20, 100) == false // because value is a string |
outsideRange(value, min, max) |
Returns true if the value is < min or gt; max
Example : // assume value is '40' outsideRange(parseInt(value), 20, 100) == false // assume value is '10' outsideRange(parseInt(value), 20, 100) == true // assume value is '10' outsideRange(value, 20, 100) == false // because value is a string |
Date Functions |
The following date related functions use the same 'format' strings as the
java.text.SimpleDateFormat class, with minor exceptions.
The format string consists of the following abbreviations:
Field | Full Form | Short Form -------------+--------------------+----------------------- Year | yyyy (4 digits) | yy (2 digits), y (2 or 4 digits) Month | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits) | NNN (abbr.) | Day of Month | dd (2 digits) | d (1 or 2 digits) Day of Week | EE (name) | E (abbr) Hour (1-12) | hh (2 digits) | h (1 or 2 digits) Hour (0-23) | HH (2 digits) | H (1 or 2 digits) Hour (0-11) | KK (2 digits) | K (1 or 2 digits) Hour (1-24) | kk (2 digits) | k (1 or 2 digits) Minute | mm (2 digits) | m (1 or 2 digits) Second | ss (2 digits) | s (1 or 2 digits) AM/PM | a |NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm! "MMM d, y" matches: January 01, 2000 Dec 1, 1900 Nov 20, 00 "M/d/yy" matches: 01/20/00 9/2/00 "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM" |
isDateStrict(value, format) |
Returns true if the value is a date object
according to the provided date format.
Example : // assume value is 'Jan 15, 1980' isDate(value,'MMM d, y') == true // assume value is ' Jan 15, 1980 ' isDate(value,'MMM d, y') == false // assume value is 'Jan 15, 1980' isDate(value,'M/d/yy') == false // assume value is '01/15/1980' isDate(value,'M/d/yy') == true // assume value is ' 01 / 15 / 1980 ' isDate(value,'M/d/yy') == false |
isDate(value) |
Returns the same as isDateStrict() except white-space is trimmed first
Example : // assume value is 'Jan 15, 1980' isDate(value,'MMM d, y') == true // assume value is ' Jan 15, 1980 ' isDate(value,'MMM d, y') == true // assume value is 'Jan 15, 1980' isDate(value,'M/d/yy') == false // assume value is '01/15/1980' isDate(value,'M/d/yy') == true // assume value is ' 01 / 15 / 1980 ' isDate(value,'M/d/yy') == true |
dateIsValidStrict(value, preferEuroFormats) |
This function takes a date string and tries to match it to a
number of possible date formats to get the value. It will try to
match against the following international formats, in this order:
y-M-d MMM d, y MMM d,y y-MMM-d d-MMM-y MMM d M/d/y M-d-y M.d.y MMM-d M/d M-d d/M/y d-M-y d.M.y d-MMM d/M d-M The preferEuroFormats argument may be passed to instruct the method to search for formats like d/M/y (European format) before M/d/y (American). Example : // assume value is 'Jan 15, 1980' dateIsValidStrict(value) == true // assume value is ' Jan 15, 1980 ' dateIsValidStrict(value) == false // assume value is 'Jan 15, 1980' dateIsValidStrict(value) == true // assume value is '01/15/1980' dateIsValidStrict(value) == true // assume value is ' 01 / 15 / 1980 ' dateIsValidStrict(value) == false |
dateIsValid(value, preferEuroFormats) |
This function is the same as dateIsValidStrict()
however whitespace is trimmed first.
Example : // assume value is 'Jan 15, 1980' dateIsValid(value) == true // assume value is ' Jan 15, 1980 ' dateIsValid(value) == true // assume value is 'Jan 15, 1980' dateIsValid(value) == true // assume value is '01/15/1980' dateIsValid(value) == true // assume value is ' 01 / 15 / 1980 ' dateIsValid(value) == true |
dateIsAfter(dateValue1, dateformat1, dateValue2, dateformat2) |
This function will compare two date strings, using the
specified date formats, to see if the first is after the second date.
Returns true if dateValue1 is after dateValue2 or false if its not or the date strings and formats are invalid. Example : dateIsAfter('01/15/1980','MM/dd/yyyy', '08/01/1980', 'dd/MM/yyyy') == true |
dateGetValue(value, [preferEuroFormats] [,format]) |
This function will a JavaScript Date object from the given value.
If the format parameter is specified, then it will be used to intepret
thet date otherwise the dateIsValid parse routine is used.
You really should precede this call with a date validation routine to ensure the date can be parsed. Example : dt = dateGetValue('01/15/1980') |
fieldIsValid(fieldName) |
Returns true if the field, identified by fieldName, is valid
according to its associated validation rules.
The fieldName must be one defined by ValidationRuleSet.getName() Example : fieldIsValid('postcode') // ok assuming postcode exists fieldIsValid('postcodeXX') // will ASSERT if postcodeXX does not exist fieldIsValid(value) // very unlikely to do what you want |
fieldIsEmpty(fieldName) |
Returns true if the field, identified by fieldName, has
no value, has a lenght of zero or is all whitespace.
The fieldName must be one defined by ValidationRuleSet.getName() Example : fieldIsEmpty('postcode') // true of postcode == null || trim(postcode).length == 0 fieldIsEmpty('postcodeXX') // will ASSERT if postcodeXX does not exist fieldIsEmpty(value) // very unlikely to do what you want |
fieldIsNull(fieldName) |
Returns true if the field, identified by fieldName, has
a null value or has a length of zero.
The fieldName must be one defined by ValidationRuleSet.getName() Example : fieldIsNull('postcode') // true of postcode == null fieldIsNull('postcode') // false of trim(postcode).length == 0 // (becauses its not null) fieldIsNull('postcodeXX') // will ASSERT if postcodeXX does not exist fieldIsNull(value) // very unlikely to do what you want |
fieldHasValue(fieldName) |
Returns true if the field, identified by fieldName, has
a non null value that is not white-space.
The fieldName must be one defined by ValidationRuleSet.getName() Example : fieldHasValue('postcode') // true of postcode != null && trim(postcode).length > 0 fieldHasValue('postcodeXX') // will ASSERT if postcodeXX does not exist fieldHasValue(value) // very unlikely to do what you want |
fieldGetValue(fieldName) |
Returns the current value of a field, identified by fieldName.
This function in and of itself does not necessarily equate to true
and should be used in conjunction with other expresions.
The fieldName must be one defined by ValidationRuleSet.getName() Example : fieldGetValue('postcode') // return the value of the postcode field fieldGetValue('postcodeXX') // will ASSERT if postcodeXX does not exist fieldGetValue(value) // very unlikely to do what you want |
trim(value) |
Trims the whitespace from the start and end of a
javascript expression.
Example : trim(' abcd ') // returns 'abcd' |
You can define custom validation functions outside the rule itself. For example this is valid javascript rule for an interger value that is even.
'function isEven(value) { return parseInt(value) % 2 == 0;} isInteger(value) && isEven(value)'
getJS
in interface ValidationRule
validateable
- - the Validateable to be validated.runOption
- - when to run the rule. Can be either RUN_OB_BLUR or RUN_ON_SUBMIT.
ValidationRule.getJS(Validateable, int)
public void setJsRule(java.lang.String rule)
rule
- - the client side JavaScript rule to be run for validation.public boolean isValid(Validateable validateable)
isValid
in interface ValidationRule
validateable
- - the Validateable to be validated.
ValidationRule.isValid(Validateable)
public int getRunOptions()
public void setRunOptions(int runOptions)
runOptions
- - can be ValidationRule.RUN_ON_BLUR | ValidationRule.RUN_ON_SUBMIT;
|
EchoPoint 1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |