Я использую Vee-validate 2.2.3 в проекте и пытаюсь использовать настраиваемое правило required_if. Проблема в том, что он не меняет обязательный флаг на ValidationProvider на true, он всегда false, поэтому пользователь не может видеть, что какое-то поле стало обязательным. В то же время - проверка работает хорошо, и сообщения об ошибках при необходимости отображаются \ скрываются.
Примеры кода:
this.$validator.extend('customRequiredIf', customRequiredIf, {
hasTarget: true,
computesRequired: true,
});
const customRequiredIf = (value: any, [target, operation, operationValue] : any) => {
let conditional = operationValue.length !== 0;
if (conditional) {
return {
valid: value !== undefined && value !== null && value !== "",
data: {
required: value !== undefined && value !== null && value !== "",
}
};
}
return {
valid: true,
data: {
required: true
}
};
};
Что я делаю неправильно?
Small демо (хотя я всегда возвращал «required: true», флаг «required» - всегда «false»): https://codesandbox.io/s/vue-template-4vd30?file= / src / App. vue