/**
* Copyright (c) 2008, 2013, Oracle and/or its affiliates.
* All rights reserved.
*/
/**
* A factory implementation to create the built-in number converter of type
* {@link oj.IntlNumberConverter}.
*
* @name oj.NumberConverterFactory
* @class
*
* @example <caption>create an instance of the jet datetime converter using the options provided</caption>
* var ncf = oj.Validation.converterFactory(oj.ConverterFactory.CONVERTER_TYPE_NUMBER);
* var salaryOptions = {currency: "EUR" , pattern: "¤#,##0.00;(¤#,##0.00)"};
* var salaryConverter = ncf.createConverter(salaryOptions);
* @public
* @since 0.6
*
*/
oj.NumberConverterFactory = (function ()
{
function _createNumberConverter(options)
{
return new oj.IntlNumberConverter(options);
}
return {
/**
* Creates an immutable (jet) number converter instance.
*
* @param {Object=} options an object literal used to provide optional information to initialize
* the jet number converter with. For details on what to pass for options, refer to
* {@link oj.IntlNumberConverter}
*
* @return {oj.IntlNumberConverter}
* @memberOf oj.NumberConverterFactory
* @public
*/
'createConverter': function(options) {
return _createNumberConverter(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultConverterFactory(oj.ConverterFactory.CONVERTER_TYPE_NUMBER, // factory name
oj.NumberConverterFactory);
/**
* A factory implementation to create the built-in datetime converter of type
* {@link oj.IntlDateTimeConverter}.
*
* @name oj.DateTimeConverterFactory
* @public
* @class
* @example <caption>create an instance of the jet datetime converter using the options provided</caption>
* var dtcf = oj.Validation.converterFactory(oj.ConverterFactory.CONVERTER_TYPE_DATETIME);
* var dateOptions = {year: '2-digit', month: 'numeric', day: 'numeric'};
* var dateConverter = dtcf.createConverter(dateOptions);
* @since 0.6
*
*/
oj.DateTimeConverterFactory = (function ()
{
function _createDateTimeConverter(options)
{
return new oj.IntlDateTimeConverter(options);
}
/**
*
* @public
*/
return {
/**
* Creates an immutable (jet) datetime converter instance.
*
* @param {Object=} options an object literal used to provide an optional information to
* initialize the jet datetime converter. For details on what to pass for options, refer to
* @link oj.IntlDateTimeConverter.
*
* @return {oj.IntlDateTimeConverter}
* @memberOf oj.DateTimeConverterFactory
* @public
*/
'createConverter' : function(options) {
return _createDateTimeConverter(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultConverterFactory(oj.ConverterFactory.CONVERTER_TYPE_DATETIME, // factory name
oj.DateTimeConverterFactory);
// JET VALIDATOR FACTORIES
/**
* A factory implementation to create an instance of the built-in required validator of type
* {@link oj.RequiredValidator}.
*
* @example <caption>create an instance of the required validator using the factory</caption>
* var rvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_REQUIRED);
* var options = {'hint' : 'a value is required for this field'};
* var requiredValidator = rvf.createValidator(options);
*
* @name oj.RequiredValidatorFactory
* @class
* @public
* @since 0.6
*
*/
oj.RequiredValidatorFactory = (function ()
{
function _createRequiredValidator(options)
{
return new oj.RequiredValidator(options);
}
return {
/**
* Creates an immutable validator instance of type @link oj.RequiredValidator that ensures that
* the value provided is not empty.
*
* @param {Object=} options an object literal used to provide an optional hint and error
* message. See {@link oj.RequiredValidator} for details.<p>
*
* @return {oj.RequiredValidator}
* @memberOf oj.RequiredValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createRequiredValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_REQUIRED,
oj.RequiredValidatorFactory);
/**
* A factory implementation that creates an instance of the built-in regExp validator of type
* {@link oj.RegExpValidator}.
*
* @example <caption>create an instance of the regExp validator using the factory</caption>
* var rvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_REGEXP);
* var usernameValidator = rvf.createValidator(
* {
* 'pattern': '[a-zA-Z0-9]{3,}',
* 'messageDetail': 'You must enter at least 3 letters or numbers'}
* });
*
* @name oj.RegExpValidatorFactory
* @class
* @public
* @since 0.6
*
*/
oj.RegExpValidatorFactory = (function ()
{
function _createRegExpValidator(options)
{
return new oj.RegExpValidator(options);
}
return {
/**
* Creates an immutable validator instance of type {@link oj.RegExpValidator} that ensures the value
* matches the provided pattern.
*
* @param {Object} options an object literal used to provide the pattern, an optional hint, error
* message among others. See {@link oj.RegExpValidator} for details.<p>
*
*
* @return {oj.RegExpValidator}
* @memberOf oj.RegExpValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createRegExpValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_REGEXP,
oj.RegExpValidatorFactory);
/**
* a factory implementation to create an instance of the built-in dateTimeRange validator of type
* {@link oj.DateTimeRangeValidator}.
*
* @example <caption>create an instance of the dateTimeRange validator using the factory</caption>
* var drvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_DATETIMERANGE);
* var birthdateOptions = {min: new Date(1930, 00, 01), max: new Date(1995, 11,31)};
* var birthdateValidator = drvf.createValidator(birthdateOptions);
*
* @name oj.DateTimeRangeValidatorFactory
* @class
* @public
* @since 0.6
*
*/
oj.DateTimeRangeValidatorFactory = (function ()
{
function _createDateTimeRangeValidator(options)
{
return new oj.DateTimeRangeValidator(options);
}
return {
/**
* Creates an immutable validator instance of type {@link oj.DateTimeRangeValidator} that ensures
* that the (datetime) value provided is within a given range.
*
* @param {Object=} options an object literal used to provide the minimum, maximum and other
* optional values. See {@link oj.DateTimeRangeValidator} for details.<p>
*
* @return {oj.DateTimeRangeValidator}
* @memberOf oj.DateTimeRangeValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createDateTimeRangeValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_DATETIMERANGE,
oj.DateTimeRangeValidatorFactory);
/**
* a factory method to create an instance of the built-in dateRestriction validator of type
* {@link oj.DateRestrictionValidator}.
*
* @example <caption>create an instance of the dateRestriction validator using the factory </caption>
* var drvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_DATERESTRICTION);
* var drValidator = drvf.createValidator();
*
* @name oj.DateRestrictionValidatorFactory
* @class
* @since 0.6
* @public
*
*/
oj.DateRestrictionValidatorFactory = (function ()
{
function _createDateRestrictionValidator(options)
{
return new oj.DateRestrictionValidator(options);
}
return {
/**
* Creates an immutable validator instance of type oj.DateRestrictionValidator that ensures that the
* isoString value provided is not in a disabled entry of dayFormatter callback.
*
* @param {Object=} options an object literal
* See {@link oj.ojInputDate} and {@link oj.DateRestrictionValidator} for details.<p>
*
* @return {oj.DateRestrictionValidator}
* @memberOf oj.DateRestrictionValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createDateRestrictionValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_DATERESTRICTION,
oj.DateRestrictionValidatorFactory);
/**
* a factory method to create an instance of a built-in numberRange validator of type
* {@link oj.NumberRangeValidator}.
*
* @example <caption>create an instance of the numberRange validator using the factory</caption>
* var lrvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_NUMBER_RANGE);
* var options = {hint: {min: 'Enter a value greater than {min}'}, min: 100};
* var lrValidator = lrvf.createValidator(options);
*
* @name oj.NumberRangeValidatorFactory
* @class
* @public
* @since 0.6
*
*/
oj.NumberRangeValidatorFactory = (function ()
{
function _createNumberRangeValidator(options)
{
return new oj.NumberRangeValidator(options);
}
return {
/**
* Creates an immutable validator instance of type {@link oj.NumberRangeValidator} that ensures
* that the value provided is within a given range.
*
* @param {Object=} options an object literal used to provide the minimum, maximum and other
* optional values. See {@link oj.NumberRangeValidator} for details.<p>
*
* @return {oj.NumberRangeValidator}
* @memberOf oj.NumberRangeValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createNumberRangeValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_NUMBERRANGE,
oj.NumberRangeValidatorFactory);
/**
* Returns an instance of oj.LengthValidatorFactory that provides a factory method to create an
* instance of a length validator.
*
* @example <caption>create an instance of the length validator using the factory</caption>
* var lvf = oj.Validation.validatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_LENGTH);
* var options = {hint: {max: 'Enter {max} or fewer characters'}, max: 10};
* var lValidator = lvf.createValidator(options);
*
* @name oj.LengthValidatorFactory
* @class
* @public
* @since 0.6
*
*/
oj.LengthValidatorFactory = (function ()
{
function _createLengthValidator(options)
{
return new oj.LengthValidator(options);
}
return {
/**
* Creates an immutable validator instance of type oj.LengthValidator that ensures that the
* value provided is withing a given length.
*
* @param {Object=} options an object literal used to provide the 'minimum', 'maximum' and other
* optional values. See {@link oj.LengthValidator} for details.<p>
*
* @return {oj.LengthValidator}
* @memberOf oj.LengthValidatorFactory
* @public
*/
'createValidator': function(options) {
return _createLengthValidator(options);
}
};
}()); // notice immediate invocation of anonymous function
/** Register the default factory provider function */
oj.Validation.__registerDefaultValidatorFactory(oj.ValidatorFactory.VALIDATOR_TYPE_LENGTH,
oj.LengthValidatorFactory);
Source: src/main/javascript/oracle/oj/ojvalidation/ValidationFactoryImpl.js
Oracle® JavaScript Extension Toolkit (JET)
1.1.2
E65298-01