NG Absolute Form Validator - V14.1

RequiredUnless

The Required Unless rule is the inverse of Required If: it makes a field mandatory unless another named field on the same form matches one of a given list of values — required_unless:requiredUnless_1,a,b,c means the current field must be present and non-empty unless requiredUnless_1 equals a, b, or c. It's suited to cases where a field is required by default and only becomes optional under specific conditions, such as requiring a 'shipping address' field unless a delivery-method field is set to pickup or digital. As with Required If, the field being watched needs to be defined or initialized before the field that depends on it, so its value is already available when this rule runs.

#Directive Code Snippet
<!DOCTYPE html> 
<html lang="en"> 
    ...
    <form (ngSubmit)="onSubmit(form)" #form="ngForm">
		<input [requiredUnless]="[<TARGET_FIELD>,<EXPECTED_VALUES>]" type="text" name="<name>" [(ngModel)]="<name>" #<name>="ngModel">
        <ng-absolute-validator [formInstance]="<name>"></ng-absolute-validator>
	</form>
    ...
</html>
#Chain Rule Code Snippet
<!DOCTYPE html> 
<html lang="en"> 
    ...
    <form (ngSubmit)="onSubmit(form)" #form="ngForm">
		<input rule="required_unless:<TARGET_FIELD>,<EXPECTED_VALUES>" type="text" name="<name>" [(ngModel)]="<name>" #<name>="ngModel">
        <ng-absolute-validator [formInstance]="<name>"></ng-absolute-validator>
	</form>
    ...
</html
#Reactive Form Code Snippet
//component.ts 
export class ReactiveComponent{

	public form  !: FormGroup;

  	constructor(
      	private fb : FormBuilder,
		private rv : ReactiveValidator,
	){this.generteForm()}

	generteForm(){
		this.form = this.fb.group({
			<name> : ['',this.rv.map('required_unless:<TARGET_FIELD>,<EXPECTED_VALUES>',<CUSTOM_MESSAGE>)]
		})
	}
}

//component.html 
<!DOCTYPE html> 
<html lang="en"> 
    ...
    <form [formGroup]="form">
		<input type="text" name="<name>" formControlName="<name>">
        <ng-absolute-validator [formInstance]="form.get(<name>)"></ng-absolute-validator>
	</form>
    ...
</html>