/** * DevExtreme (ui/validator.d.ts) * Version: 21.1.7 * Build date: Thu Aug 07 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { UserDefinedElement, } from '../core/element'; import DOMComponent, { DOMComponentOptions, } from '../core/dom_component'; import { DxPromise, } from '../core/utils/deferred'; import { EventInfo, InitializedEventInfo, ChangedOptionInfo, } from '../events/index'; import { AsyncRule, ValidationRule, } from './validation_rules'; /** @public */ export type DisposingEvent = EventInfo; /** @public */ export type InitializedEvent = InitializedEventInfo; /** @public */ export type OptionChangedEvent = EventInfo & ChangedOptionInfo; /** @public */ export type ValidatedEvent = { name?: string; isValid?: boolean; value?: any; validationRules?: Array; brokenRule?: ValidationRule; brokenRules?: ValidationRule; status?: 'valid' | 'invalid' | 'pending'; }; /** * @deprecated use Properties instead * @namespace DevExpress.ui */ export interface dxValidatorOptions extends DOMComponentOptions { /** * @docid * @public */ adapter?: { /** * @docid */ applyValidationResults?: Function; /** * @docid */ bypass?: Function; /** * @docid */ focus?: Function; /** * @docid */ getValue?: Function; /** * @docid */ reset?: Function; /** * @docid */ validationRequestsCallbacks?: Array; }; /** * @docid * @public */ name?: string; /** * @docid * @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 * @type_function_param1_field5 brokenRule:RequiredRule|NumericRule|RangeRule|StringLengthRule|CustomRule|CompareRule|PatternRule|EmailRule|AsyncRule * @type_function_param1_field6 brokenRules:Array * @type_function_param1_field7 status:Enums.ValidationStatus * @action * @public */ onValidated?: ((validatedInfo: ValidatedEvent) => void); /** * @docid * @ref * @public */ validationGroup?: string; /** * @docid * @type Array * @public */ validationRules?: Array; } /** * @docid * @inherits DOMComponent * @extension * @namespace DevExpress.ui * @public */ export default class dxValidator extends DOMComponent { constructor(element: UserDefinedElement, options?: dxValidatorOptions) /** * @docid * @publicName focus() * @public */ focus(): void; /** * @docid * @publicName reset() * @public */ reset(): void; /** * @docid * @publicName validate() * @public * @return dxValidatorResult */ validate(): ValidationResult; } /** @public */ export type ValidationResult = dxValidatorResult; /** * @docid * @type object * @namespace DevExpress.ui * @deprecated {ui/validator.ValidationResult} */ export interface dxValidatorResult { /** * @docid * @type RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule * @public */ brokenRule?: ValidationRule; /** * @docid * @type Array * @public */ brokenRules?: Array; /** * @docid * @type Promise * @public */ complete?: DxPromise; /** * @docid * @public */ isValid?: boolean; /** * @docid * @public */ pendingRules?: Array; /** * @docid * @type Enums.ValidationStatus * @public */ status?: 'valid' | 'invalid' | 'pending'; /** * @docid * @type Array * @public */ validationRules?: Array; /** * @docid * @public */ value?: any; } /** @public */ export type Properties = dxValidatorOptions; /** @deprecated use Properties instead */ export type Options = dxValidatorOptions; /** @deprecated use Properties instead */ export type IOptions = dxValidatorOptions;