# v3.0 features

## Update logs
- 08/19/2016 (Last update)
- 07/18/2016
- 07/13/2016
- 07/04/2016
- 07/04/2016

## Validation Result
- [ ] top level validation properties
  - [ ] valid
  - [ ] invalid
  - [ ] touched
  - [ ] untouched
  - [ ] pristine
  - [ ] dirty
  - [ ] modified
  - [ ] errors
- [x] field level validation properties
  - [x] valid
  - [x] invalid
  - [x] touched
  - [x] untouched
  - [x] pristine
  - [x] dirty
  - [x] modified
  - [x] errors

## Validator Syntax
- [x] Literal
  - [x] Array
  - [x] Object
- [ ] Binding
- [ ] Dynamic Attribute
- [ ] Camel-case

## Built-in Validators
- [x] required
- [x] pattern
- [x] minlength
- [x] maxlength
- [x] min
- [x] max

## Validatable Elements
- [ ] input (text/number/email/url/ ...)
- [ ] checkbox
- [ ] radio
- [ ] select
- [ ] component <sup>NEW</sup>

## v-model Integration
- [ ] elements
  - [ ] input (text/number/email/url/ ...)
  - [ ] checkbox
  - [ ] radio
  - [ ] select
  - [ ] component <sup>NEW</sup>
- [ ] v-model value control <sup>NEW</sup>

## Validation Classes
- [ ] basic
- [ ] custom classes
- [ ] class prefix <sup>NEW</sup>

## Grouping
- [ ] basic
- [ ] component <sup>NEW</sup>

## Error Messages
- [ ] global registration
- [ ] local registration
- ~~enumration~~ <sup>DEPRECATED, use your component</sup>
  - ~~defautl component template~~
  - ~~custom component template~~
  - ~~default partial template~~
  - ~~custom partial template~~
  - ~~group message focusing~~
  - ~~filed message focusing~~

## Events
- [ ] top level validation event
  - [ ] valid
  - [ ] invalid
  - [ ] touched
  - [ ] dirty
  - [ ] modified
- [x] field level validatoin event
  - [x] valid
  - [x] invalid
  - [x] touched
  - [x] dirty
  - [x] modified

## Custom Validator
- [x] global registration
- [x] local registration
- [x] error message

## Validation Timing Customization
- ~~initial~~ <sup>DEPRECATED, use DOM event handling</sup>
- ~~detect-blur~~ <sup>DEPRECATED, use DOM handling</sup>
- ~~detect-change~~ <sup>DEPRECATED, use DOM handling</sup>

## Async Validation
- [x] function
- [x] promise
- [x] progress status <sup>NEW</sup>

## API
### Vue global enhancement
- [x] Vue.validator

### Vue constructor options enhancement
- [x] validators

### Vue instance meta methods <sup>DEPRECATED, use Validity class</sup>
- ~~$activeValidator~~
- ~~$resetValidation~~
- ~~$setValidationErrors~~
- ~~$validate~~
- ~~$validates~~

### Directive
- ~~v-validate~~<sup>DEPRECATED, use validity component</sup>
- [ ] v-validate-class

### Special Elements (Components)
- ~~validator~~ <sup>DEPRECATED, use the validation component</sup>
- ~~validator-errors~~ <sup>DEPRECATED</sup>
- [x] validity <sup>NEW</sup>
  - [ ] methods
    - [x] validate
    - [x] reset
    - [ ] active
    - [ ] deactive
    - [ ] setErrors
  - [ ] properties
    - [x] valid
    - [x] invalid
    - [x] touched
    - [x] untouched
    - [x] pristine
    - [x] dirty
    - [x] modified
    - [x] errors
    - [x] progresses
- [ ] validation <sup>NEW</sup>

