Не проверено, но Promise.all возвращает массив результатов для обещаний. Что вам нужно сделать, это активировать проверку для всех вещей, для которых вы хотите узнать результат, собрать эти обещания и затем проверить результаты в Promise.all. Вы не дали достаточно кода, чтобы ответить на этот вопрос полностью, но это примерно так:
validateForm() {
//both of these I added validate() to because I'm hoping they are references to ValidationObservers
const PROMISES = [this.$refs.contactDetailsForm.$refs.contactDetails.validate()]
for (let i = 1; i <= this.count; i++) {
PROMISES.push(this.$refs[`passengerForm${i}`][0].validate())
}
return Promise.all(Promises);
}
Тогда, куда бы вы ни звонили, вы должны делать:
this.validateForm().then((values) => {
this.formIsValid = values.every((result) => result));
//if the things above are ValidationProviders rather than VO, you have to use result.valid instead of result
});