File

projects/maplander/components/src/lib/components/property/validators/property-editor-validators.ts

Index

Methods

Methods

Static validator
validator(form: FormGroup)
Parameters :
Name Type Optional
form FormGroup No
Returns : void
import {FormGroup} from '@angular/forms';
import {removeError} from './remove-error';

export class PropertyEditorValidators {
  static validator(form: FormGroup): void {
    // Min price rule
    let condition = Number(form.get('minPrice').value) > Number(form.get('price').value);
    if (condition) {
      form.get('minPrice').setErrors({
        minPriceInvalid: true
      });
    } else {
      removeError(form.get('minPrice'), 'minPriceInvalid');
    }
    // Commission rule
    condition = form.get('commission').value && (!form.get('price').value || Number(form.get('price').value) === 0);
    if (condition) {
      form.get('commission').setErrors({
        commissionInvalid: true
      });
    } else {
      removeError(form.get('commission'), 'commissionInvalid');
    }
    // Consumer reporting rule
    condition = form.get('consumerReporting').value && !form.get('consumerReportingOption').value;
    if (condition) {
      form.get('consumerReportingOption').setErrors({
        required: true
      });
    } else {
      removeError(form.get('consumerReportingOption'), 'required');
    }
    // Lease transfer rule
    condition = form.get('transfer').value && !form.get('transferPrice').value;
    if (condition) {
      form.get('transferPrice').setErrors({
        required: true
      });
    } else {
      removeError(form.get('transferPrice'), 'required');
    }
    // Condominium fee rule
    condition = form.get('maintenance').value && !form.get('maintenancePrice').value;
    if (condition) {
      form.get('maintenancePrice').setErrors({
        required: true
      });
    } else {
      removeError(form.get('maintenancePrice'), 'required');
    }
    // Shared commission rule
    condition = form.get('mlm').value && !form.get('sharedCommission').value;
    if (condition) {
      form.get('sharedCommission').setErrors({
        required: true
      });
    } else {
      removeError(form.get('sharedCommission'), 'required');
    }
    // Shared commission rule 2
    condition = form.get('mlm').value && !form.get('commission').value;
    if (condition) {
      form.get('sharedCommission').setErrors({
        sharedCommissionInvalid: true
      });
    } else {
      removeError(form.get('sharedCommission'), 'sharedCommissionInvalid');
    }
  }
}

result-matching ""

    No results matching ""