im-angular-validators
Version:
This library will help you with lots of already written mostly used validators for Angular 2+ applications.
12 lines • 2.3 kB
JavaScript
import { isNumber } from '../helpers/is-number.helper';
export const IMNumberInRangeValidator = (from, to) => {
return (control) => {
const error = { isInvalid: true, from, to };
if (isNumber(from) && isNumber(to) && isNumber(control.value)) {
if (from > control.value || to < control.value) {
return { numberInRange: error };
}
}
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWluLXJhbmdlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdmFsaWRhdG9ycy9zcmMvbGliL3ZhbGlkYXRvcnMvbnVtYmVyLWluLXJhbmdlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFlLEVBQUU7SUFDaEYsT0FBTyxDQUFDLE9BQXdCLEVBQWtELEVBQUU7UUFDbEYsTUFBTSxLQUFLLEdBQWtDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFFekUsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDOUMsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQzthQUMvQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7aXNOdW1iZXJ9IGZyb20gJy4uL2hlbHBlcnMvaXMtbnVtYmVyLmhlbHBlcic7XHJcbmltcG9ydCB7SU1OdW1iZXJJblJhbmdlRXJyb3JJbnRlcmZhY2V9IGZyb20gJy4uL2ludGVyZmFjZXMvbnVtYmVyLWluLXJhbmdlLWVycm9yLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY29uc3QgSU1OdW1iZXJJblJhbmdlVmFsaWRhdG9yID0gKGZyb206IG51bWJlciwgdG86IG51bWJlcik6IFZhbGlkYXRvckZuID0+IHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHtudW1iZXJJblJhbmdlOiBJTU51bWJlckluUmFuZ2VFcnJvckludGVyZmFjZX0gPT4ge1xyXG4gICAgY29uc3QgZXJyb3I6IElNTnVtYmVySW5SYW5nZUVycm9ySW50ZXJmYWNlID0ge2lzSW52YWxpZDogdHJ1ZSwgZnJvbSwgdG99O1xyXG5cclxuICAgIGlmIChpc051bWJlcihmcm9tKSAmJiBpc051bWJlcih0bykgJiYgaXNOdW1iZXIoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgaWYgKGZyb20gPiBjb250cm9sLnZhbHVlIHx8IHRvIDwgY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB7bnVtYmVySW5SYW5nZTogZXJyb3J9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuIl19