UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

54 lines (53 loc) 1.92 kB
/** * DevExtreme (esm/__internal/ui/m_validation_group.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import registerComponent from "../../core/component_registrator"; import DOMComponent from "../../core/dom_component"; import $ from "../../core/renderer"; import ValidationEngine from "./m_validation_engine"; import ValidationSummary from "./m_validation_summary"; import Validator from "./m_validator"; const VALIDATION_ENGINE_CLASS = "dx-validationgroup"; const VALIDATOR_CLASS = "dx-validator"; const VALIDATION_SUMMARY_CLASS = "dx-validationsummary"; class ValidationGroup extends DOMComponent { _getDefaultOptions() { return super._getDefaultOptions() } _init() { super._init(); ValidationEngine.addGroup(this, false) } _initMarkup() { const $element = this.$element(); $element.addClass("dx-validationgroup"); $element.find(".dx-validator").each(((_, validatorContainer) => { Validator.getInstance($(validatorContainer))._initGroupRegistration() })); $element.find(".dx-validationsummary").each(((_, summaryContainer) => { ValidationSummary.getInstance($(summaryContainer)).refreshValidationGroup() })); super._initMarkup() } validate() { return ValidationEngine.validateGroup(this) } reset() { return ValidationEngine.resetGroup(this) } _dispose() { ValidationEngine.removeGroup(this); this.$element().removeClass("dx-validationgroup"); super._dispose() } _useTemplates() { return false } } registerComponent("dxValidationGroup", ValidationGroup); export default ValidationGroup;