# Validator

This is a module for validating any kind of input for the application.

## Usage

### Check if a field is valid
Checks if a single value is valid or not by the supplied validations.
**Returns: Boolean** (true / false)

```javascript
// Returns `true`
validator.isValid('12345', { maxLen: 6, number: true });
```

### Check if multiple fields are valid
Checks if a multiple values are valid or not by the supplied validations.
**Returns: Boolean** (true / false)

```javascript
// Returns `true`
validator.areValid({
    username: {
        value: 'foobar',
        rules: { maxLen: 10, minLen: 5 }
    },
    phone: {
        value: '+36305981230',
        rules: { phone: 'hu-HU' }
    }
});
```

### Get validation information
Returns the validation information on every rule.
**Returns: Object**

```javascript
// Single field
// Returns { maxLen: true }
validator.validate('12345', { maxLen: 6 });

// Multiple fields
// Returns {
//    username: { maxLen: true, minLen: true},
//    phone: { phone: true }
// }
validator.validateFields({
    username: {
        value: 'foobar',
        rules: { maxLen: 10, minLen: 5 }
    },
    phone: {
        value: '+36305981230',
        rules: { phone: 'hu-HU' }
    }
});
```

### Get error messages
Get error messages for a single value validation.
**Returns: Object**

```javascript
const validation = validator.validate('foobar', { number: true, maxLen: 6 });
const errorMessages = validator.getErrorMessages(validation);
// Returns: ['number_validation_error']
```