How to use the @aurelia/validation.PropertyRule 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 / validator.spec.ts View on Github external
it(`if given, validates only the specific rules for an object property - ${title}`, async function () {
      const { sut, validationRules } = setup();
      const message1 = 'message1', message2 = 'message2';
      const obj: Person = new Person('test', (void 0)!, (void 0)!);
      const rules = validationRules
        .on(obj)
        .ensure(getProperty() as any)
        .matches(/foo/)
        .withMessage(message1)
        .minLength(42)
        .withMessage(message2)
        .rules[0];
      const rule = new PropertyRule(
        rules['validationRules'],
        rules['messageProvider'],
        rules.property,
        [[rules.$rules[0][0]]]);

      let result = await sut.validateProperty(obj, 'name', [rule]);
      assert.equal(result.length, 1);

      assertValidationResult(result[0], false, 'name', obj, RegexRule, message1);

      obj.name = 'foo';
      result = await sut.validateProperty(obj, 'name', [rule]);
      assert.equal(result.length, 1);

      assertValidationResult(result[0], true, 'name', obj, RegexRule);
    }));