ngx-custom-validators
Version:
Angular custom directives for validation
17 lines • 2.49 kB
JavaScript
export const notEqualTo = (notEqualControl) => {
let subscribe = false;
return (control) => {
if (!subscribe) {
subscribe = true;
notEqualControl.valueChanges.subscribe(() => {
control.updateValueAndValidity();
});
}
const v = control.value;
if (notEqualControl.value == null && v == null) {
return null;
}
return notEqualControl.value !== v ? null : { notEqualTo: { control: notEqualControl, value: notEqualControl.value } };
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLyIsInNvdXJjZXMiOlsic3JjL2FwcC9ub3QtZXF1YWwtdG8vdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLGVBQWdDLEVBQWUsRUFBRTtJQUMxRSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsT0FBTyxDQUFDLE9BQXdCLEVBQW9CLEVBQUU7UUFDcEQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDakIsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxDQUFDLEdBQVcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUVoQyxJQUFJLGVBQWUsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN6SCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY29uc3Qgbm90RXF1YWxUbyA9IChub3RFcXVhbENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRvckZuID0+IHtcbiAgbGV0IHN1YnNjcmliZSA9IGZhbHNlO1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGlmICghc3Vic2NyaWJlKSB7XG4gICAgICBzdWJzY3JpYmUgPSB0cnVlO1xuICAgICAgbm90RXF1YWxDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHY6IHN0cmluZyA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAobm90RXF1YWxDb250cm9sLnZhbHVlID09IG51bGwgJiYgdiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbm90RXF1YWxDb250cm9sLnZhbHVlICE9PSB2ID8gbnVsbCA6IHsgbm90RXF1YWxUbzogeyBjb250cm9sOiBub3RFcXVhbENvbnRyb2wsIHZhbHVlOiBub3RFcXVhbENvbnRyb2wudmFsdWUgfSB9O1xuICB9O1xufTtcbiJdfQ==