opened
jpozosrc
username_0
#### Versions:
- VueJs: 4.1.1
- Vee-Validate: 2.0.0-beta.24

### Description:
I have a custom rule for validating email addresses via an ajax call.
This ajax call uses a third party service that 'ensures' email addresses are fresh.

### Steps To Reproduce:

The markup:

`<input 
    name="email" 
    v-bind:value="viewModel.email" 
    v-on:input="viewModel.email = $event.target.value" 
    class="form-control" 
    v-validate="'required|email|goodemail'" 
    data-vv-validate-on="blur"
    :class="{ 'input-error' : errors.has('email') }" />`

The custom rule:

`Validator.extend('goodemail', function(value) 
    {
        var promise = validateEmail(value);
        console.log(promise)
        return promise;
    });`

The code above executes twice upon issuing this.$validator.validateAll()
The first time it works correctly (marks field as invalid if invalid and vice-versa).
But the second time (which should not occur), the validator believes its always valid
I know it executes twice because that console.log statement shows my promise twice.

I was able to reproduce in a hello-world type app to rule out other issues in my application

![dev_tools](https://cloud.githubusercontent.com/assets/16215360/24513807/cdd4186a-1537-11e7-9ba8-54b8f1ee843c.png)
Custom rule that returns a promise executes twice on validateAll()
issue
closed
jpozosrc
username_0
issue
created
jpozosrc
username_0
My bug...
comment