HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago_test/node_modules/node-input-validator/test/postRules/function.js
const assert = require('assert');

const { Validator } = require('../../lib/index');

describe('function', () => {
  it('should use custom function', async () => {
    let v = new Validator({ username: 'arnold', password: 'arnold123' }, {});

    v.addPostRule(async (provider) => {
      if (provider.inputs.password.indexOf(provider.inputs.username) >= 0) {
        provider.error('password', 'custom', 'Password cannot contain username');
      }
    });

    let matched = await v.check();

    assert.equal(matched, false);

    v = new Validator({ username: 'arnold', password: '123456' }, {});

    v.addPostRule(async (provider) => {
      if (provider.inputs.password.indexOf(provider.inputs.username) >= 0) {
        provider.error('password', 'custom', 'Password cannot contain username');
      }
    });

    matched = await v.check();

    assert.equal(matched, true);
  });
});