[RFC] Form validation

__NOT READY FOR MERGE__

![http://i.imgur.com/Dn4YNJ1.gif](http://i.imgur.com/Dn4YNJ1.gif)

Ci dessous une proposition concernant la validation de formulaires:

- apparition des messages d'erreurs en fonction des validateurs  (`ErrorsDirective` et `ErrorMessageDirective`)
- styling des champs de formulaires en cas d'erreur  (`FormGroupDirective`)
- un champ devient "validable" au premier `blur` ou lors du `submit`, "validable" étant le fait que les messages d'erreurs peuvent alors apparaitre  (`ValidableDirective`)
- le submit ne s'effectue pas si le form n'est pas valide (`SubmitDirective`)


```html
            <form ng-controller="MainController as main" name="myForm" ev-submit="submit()">
                <div class="form-group">
                    <label for="login">Login (required, min 3 chars, validable on blur)</label>
                    <input type="text"
                            class="form-control"
                            ng-model="user.login"
                            ng-required="true"
                            ng-minlength="3"
                            name="login"
                            ev-validable
                            >
                    <ev-errors>
                        <ev-error-message input="myForm.login" error="required">Login is required</ev-error-message>
                        <ev-error-message input="myForm.login" error="minlength">Login length must be greater than 3 characters</ev-error-message>
                    </ev-errors>
                </div>

                <button type="submit" class="btn btn-default">Submit</button>
            </form>
```
La syntaxe en mode "manuel"

```
<div class="form-group" ng-class="{ 'has-error': myForm.login.evHasError }">
    <label for="login">Login (required, min 3 chars, validable on blur)</label>
    <input type="text"
            class="form-control"
            autocomplete="off"
            ng-model="user.login"
            ng-required="true"
            ng-minlength="3"
            name="login"
            ng-blur="setValidable(myForm.login)"
            ng-keyup="hasError(myForm.login)"
            >
    <ul class="errors text-danger">
        <li ng-if="myForm.login.evHasError && myForm.login.$error.required">Login is required</li>
        <li ng-if="myForm.login.evHasError && myForm.login.$error.minlength">Login length must be greater than 3 characters</li>
    </ul>
</div>
```