@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
43 lines • 4.81 kB
JavaScript
/**
* Base class for form validation.
*/
export class FormValidatorBase {
/**
* Instantiates a new instance of FormValidatorBase
*/
constructor() {
/**
* Revalidates the model attached to this validator
*/
this.revalidate = MsftSme.noop;
// placeholder
}
/**
* Implementation of Validator interface.
* Validates the value of this elements form control. Use the @see checkValidate event to hook into this function.
* @param c The FormControl attached to this element
* @return null when valid, otherwise returns a validation object in the form of "{ errorType: {valid: false} }".
*/
validate(c) {
// we have no alerts, so return null this should be overridden by derived classes
return null;
}
/**
* Implementation of Validator interface.
* registers a change function that should be called anytime revalidation needs to occur
*/
registerOnValidatorChange(fn) {
this.revalidate = fn;
}
/**
* Checks if an alerts object has alerts and returns it, otherwise returns null.
* @param alerts The alerts to check
*/
alertsOrNull(alerts) {
if (MsftSme.isNullOrUndefined(alerts) && Object.keys(alerts).length === 0) {
return null;
}
return alerts;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRvcnMvYmFzZS12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBTTFCOztPQUVHO0lBQ0g7UUFSQTs7V0FFRztRQUNPLGVBQVUsR0FBbUIsT0FBTyxDQUFDLElBQUksQ0FBQztRQU1oRCxjQUFjO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBQyxDQUFjO1FBQzFCLGlGQUFpRjtRQUNqRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0kseUJBQXlCLENBQUMsRUFBa0I7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVksQ0FBQyxNQUF3QjtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQWxlcnRzIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1hbGVydC92YWxpZGF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgU21lVmFsaWRhdG9yIH0gZnJvbSAnLi9zbWUtdmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNsYXNzIGZvciBmb3JtIHZhbGlkYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRvckJhc2UgaW1wbGVtZW50cyBTbWVWYWxpZGF0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXZhbGlkYXRlcyB0aGUgbW9kZWwgYXR0YWNoZWQgdG8gdGhpcyB2YWxpZGF0b3JcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIHJldmFsaWRhdGU6IE1zZnRTbWUuQWN0aW9uID0gTXNmdFNtZS5ub29wO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5zdGFudGlhdGVzIGEgbmV3IGluc3RhbmNlIG9mIEZvcm1WYWxpZGF0b3JCYXNlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIC8vIHBsYWNlaG9sZGVyXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBWYWxpZGF0b3IgaW50ZXJmYWNlLlxyXG4gICAgICogVmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB0aGlzIGVsZW1lbnRzIGZvcm0gY29udHJvbC4gVXNlIHRoZSBAc2VlIGNoZWNrVmFsaWRhdGUgZXZlbnQgdG8gaG9vayBpbnRvIHRoaXMgZnVuY3Rpb24uXHJcbiAgICAgKiBAcGFyYW0gYyBUaGUgRm9ybUNvbnRyb2wgYXR0YWNoZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKiBAcmV0dXJuIG51bGwgd2hlbiB2YWxpZCwgb3RoZXJ3aXNlIHJldHVybnMgYSB2YWxpZGF0aW9uIG9iamVjdCBpbiB0aGUgZm9ybSBvZiBcInsgZXJyb3JUeXBlOiB7dmFsaWQ6IGZhbHNlfSB9XCIuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25BbGVydHMgfCBudWxsIHtcclxuICAgICAgICAvLyB3ZSBoYXZlIG5vIGFsZXJ0cywgc28gcmV0dXJuIG51bGwgdGhpcyBzaG91bGQgYmUgb3ZlcnJpZGRlbiBieSBkZXJpdmVkIGNsYXNzZXNcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIFZhbGlkYXRvciBpbnRlcmZhY2UuXHJcbiAgICAgKiByZWdpc3RlcnMgYSBjaGFuZ2UgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIGFueXRpbWUgcmV2YWxpZGF0aW9uIG5lZWRzIHRvIG9jY3VyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiBNc2Z0U21lLkFjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmV2YWxpZGF0ZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIGFuIGFsZXJ0cyBvYmplY3QgaGFzIGFsZXJ0cyBhbmQgcmV0dXJucyBpdCwgb3RoZXJ3aXNlIHJldHVybnMgbnVsbC5cclxuICAgICAqIEBwYXJhbSBhbGVydHMgVGhlIGFsZXJ0cyB0byBjaGVja1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWxlcnRzT3JOdWxsKGFsZXJ0czogVmFsaWRhdGlvbkFsZXJ0cyk6IFZhbGlkYXRpb25BbGVydHMgfCBudWxsIHtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChhbGVydHMpICYmIE9iamVjdC5rZXlzKGFsZXJ0cykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYWxlcnRzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==