How to use the @aurelia/validation.ValidationTrigger.blur function in @aurelia/validation

To help you get started, we’ve selected a few @aurelia/validation examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github aurelia / aurelia / packages / __tests__ / validation / validate-binding-behavior.spec.ts View on Github external
async function ({ app, host, container }: TestContext) {
      const scheduler = container.get(IScheduler);
      const controller = app.controller;
      const controllerSpy = app.controllerSpy;

      const target: HTMLInputElement = (host as Element).querySelector("#target");
      assertControllerBinding(controller, 'person.name', target);

      assert.equal(app.trigger, ValidationTrigger.change);
      target.value = 'foo';
      await assertEventHandler(target, 'change', 1, scheduler, controllerSpy);
      await assertEventHandler(target, 'blur', 0, scheduler, controllerSpy);

      app.trigger = ValidationTrigger.blur;
      await assertEventHandler(target, 'blur', 1, scheduler, controllerSpy);
      target.value = 'bar';
      await assertEventHandler(target, 'change', 0, scheduler, controllerSpy);

      app.trigger = ValidationTrigger.changeOrBlur;
      await assertEventHandler(target, 'blur', 1, scheduler, controllerSpy);
      target.value = 'foo';
      await assertEventHandler(target, 'change', 1, scheduler, controllerSpy);

      app.trigger = ValidationTrigger.manual;
      await assertEventHandler(target, 'blur', 0, scheduler, controllerSpy);
      target.value = 'bar';
      await assertEventHandler(target, 'change', 0, scheduler, controllerSpy);
    },
    { template: `<input type="text">` }