dt-compare-equal-validator
Version:
這個套件主要可以提供 Angular 7+ 專案使用進行欄位驗證,目前提供的驗證器為 dt-compare-equal-validator,可以用來比對一個 FormGroup 下的兩個欄位內容是否一致,較常見的使用情境是用在註冊會員時「設定密碼」與「確認密碼」欄位的時候。
125 lines (115 loc) • 4.91 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms')) :
typeof define === 'function' && define.amd ? define('dt-compare-equal-validator', ['exports', '@angular/core', '@angular/forms'], factory) :
(factory((global['dt-compare-equal-validator'] = {}),global.ng.core,global.ng.forms));
}(this, (function (exports,i0,forms) { 'use strict';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DtCompareEqualValidatorService = /** @class */ (function () {
function DtCompareEqualValidatorService() {
}
DtCompareEqualValidatorService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
DtCompareEqualValidatorService.ctorParameters = function () { return []; };
/** @nocollapse */ DtCompareEqualValidatorService.ngInjectableDef = i0.defineInjectable({ factory: function DtCompareEqualValidatorService_Factory() { return new DtCompareEqualValidatorService(); }, token: DtCompareEqualValidatorService, providedIn: "root" });
return DtCompareEqualValidatorService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?} controlName
* @return {?}
*/
function compareEqual(controlName) {
return ( /**
* @param {?} control
* @return {?}
*/function (control) {
if (!control.parent || control.parent.get(controlName).value === control.value) {
return null;
}
else {
return { compareEqual: true };
}
});
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var COMPARE_EQUAL_VALIDATOR = {
provide: forms.NG_VALIDATORS,
useExisting: i0.forwardRef(( /**
* @return {?}
*/function () { return CompareEqualDirective; })),
multi: true
};
var CompareEqualDirective = /** @class */ (function () {
function CompareEqualDirective() {
}
/**
* @param {?} control
* @return {?}
*/
CompareEqualDirective.prototype.validate = /**
* @param {?} control
* @return {?}
*/
function (control) {
return compareEqual(this.dtCompareEqual)(control);
};
CompareEqualDirective.decorators = [
{ type: i0.Directive, args: [{
selector: '[dtCompareEqual]',
providers: [COMPARE_EQUAL_VALIDATOR]
},] }
];
/** @nocollapse */
CompareEqualDirective.ctorParameters = function () { return []; };
CompareEqualDirective.propDecorators = {
dtCompareEqual: [{ type: i0.Input }]
};
return CompareEqualDirective;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DtCompareEqualValidatorModule = /** @class */ (function () {
function DtCompareEqualValidatorModule() {
}
DtCompareEqualValidatorModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [CompareEqualDirective],
imports: [
forms.FormsModule
],
exports: [CompareEqualDirective]
},] }
];
return DtCompareEqualValidatorModule;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.DtCompareEqualValidatorService = DtCompareEqualValidatorService;
exports.DtCompareEqualValidatorModule = DtCompareEqualValidatorModule;
exports.compareEqual = compareEqual;
exports.CompareEqualDirective = CompareEqualDirective;
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=dt-compare-equal-validator.umd.js.map