devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
177 lines (171 loc) • 6.82 kB
TypeScript
/**
* DevExtreme (ui/validator.d.ts)
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import '../jquery_augmentation';
import DOMComponent, {
DOMComponentOptions
} from '../core/dom_component';
import {
AsyncRule,
CompareRule,
CustomRule,
EmailRule,
NumericRule,
PatternRule,
RangeRule,
RequiredRule,
StringLengthRule
} from './validation_engine';
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxValidatorOptions extends DOMComponentOptions<dxValidator> {
/**
* @docid dxValidatorOptions.adapter
* @type Object
* @prevFileNamespace DevExpress.ui
* @public
*/
adapter?: { applyValidationResults?: Function, bypass?: Function, focus?: Function, getValue?: Function, reset?: Function, validationRequestsCallbacks?: Array<Function> | JQueryCallback };
/**
* @docid dxValidatorOptions.name
* @type string
* @prevFileNamespace DevExpress.ui
* @public
*/
name?: string;
/**
* @docid dxValidatorOptions.onValidated
* @type function(validatedInfo)
* @type_function_param1 validatedInfo:Object
* @type_function_param1_field1 name:string
* @type_function_param1_field2 isValid:boolean
* @type_function_param1_field3 value:Object
* @type_function_param1_field4 validationRules:Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @type_function_param1_field5 brokenRule:RequiredRule|NumericRule|RangeRule|StringLengthRule|CustomRule|CompareRule|PatternRule|EmailRule|AsyncRule
* @type_function_param1_field6 brokenRules:Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @type_function_param1_field7 status:Enums.ValidationStatus
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onValidated?: ((validatedInfo: { name?: string, isValid?: boolean, value?: any, validationRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>, brokenRule?: RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule, brokenRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>, status?: 'valid' | 'invalid' | 'pending' }) => any);
/**
* @docid dxValidatorOptions.validationGroup
* @type string
* @ref
* @prevFileNamespace DevExpress.ui
* @public
*/
validationGroup?: string;
/**
* @docid dxValidatorOptions.validationRules
* @type Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @prevFileNamespace DevExpress.ui
* @public
*/
validationRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>;
}
/** A widget that is used to validate the associated DevExtreme editors against the defined validation rules. */
export default class dxValidator extends DOMComponent {
constructor(element: Element, options?: dxValidatorOptions)
constructor(element: JQuery, options?: dxValidatorOptions)
/**
* @docid dxValidatorMethods.focus
* @publicName focus()
* @prevFileNamespace DevExpress.ui
* @public
*/
focus(): void;
/**
* @docid dxValidatorMethods.reset
* @publicName reset()
* @prevFileNamespace DevExpress.ui
* @public
*/
reset(): void;
/**
* @docid dxValidatorMethods.validate
* @publicName validate()
* @return dxValidatorResult
* @prevFileNamespace DevExpress.ui
* @public
*/
validate(): dxValidatorResult;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxValidatorResult {
/**
* @docid dxValidatorResult.brokenRule
* @type RequiredRule|NumericRule|RangeRule|StringLengthRule|CustomRule|CompareRule|PatternRule|EmailRule|AsyncRule
* @prevFileNamespace DevExpress.ui
* @public
*/
brokenRule?: RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule;
/**
* @docid dxValidatorResult.brokenRules
* @type Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @prevFileNamespace DevExpress.ui
* @public
*/
brokenRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>;
/**
* @docid dxValidatorResult.complete
* @type Promise<dxValidatorResult>
* @prevFileNamespace DevExpress.ui
* @public
*/
complete?: Promise<dxValidatorResult> | JQueryPromise<dxValidatorResult>;
/**
* @docid dxValidatorResult.isValid
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isValid?: boolean;
/**
* @docid dxValidatorResult.pendingRules
* @type Array<AsyncRule>
* @prevFileNamespace DevExpress.ui
* @public
*/
pendingRules?: Array<AsyncRule>;
/**
* @docid dxValidatorResult.status
* @type Enums.ValidationStatus
* @prevFileNamespace DevExpress.ui
* @public
*/
status?: 'valid' | 'invalid' | 'pending';
/**
* @docid dxValidatorResult.validationRules
* @type Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @prevFileNamespace DevExpress.ui
* @public
*/
validationRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>;
/**
* @docid dxValidatorResult.value
* @type any
* @prevFileNamespace DevExpress.ui
* @public
*/
value?: any;
}
declare global {
interface JQuery {
dxValidator(): JQuery;
dxValidator(options: "instance"): dxValidator;
dxValidator(options: string): any;
dxValidator(options: string, ...params: any[]): any;
dxValidator(options: dxValidatorOptions): JQuery;
}
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export type Options = dxValidatorOptions;
/** @deprecated use Options instead */
/** Warning! This type is used for internal purposes. Do not import it directly. */
export type IOptions = dxValidatorOptions;