#javascript #vue.js #vuelidate
Вопрос:
Я новичок в Vue.
Я хотел бы знать, можно ли обновить входное значение после выполнения пользовательской проверки в Vuelidate. У меня есть поле ввода для почтового индекса. Я хочу вернуть почтовый индекс в правильном формате на случай, если пользователь забудет поставить пробел, и обновить поле ввода правильным значением, например
пользовательский ввод = XXXXXX
возвращенный вывод = XXX XXX
Пример кода
export default {
...
validations: {
postcode: {
required,
maxLength: maxLength(10),
validatePostcode: (value) => {
const result = customValidators.validatePostcode(value);
if (result !== false) {
if (result !== value) {
// UPDATE THE INPUT VALUE HERE WITH THE CORRECT POSTCODE FORMAT
}
return true;
}
return false;
}
}
}
...
}
Комментарии:
1. можете ли вы поделиться каким-нибудь кодом и тем, что вы пробовали до сих пор?
2. Привет @Zero Я обновил свой вопрос выше с помощью некоторого примера кода. Я попытался обновить значение с помощью API DOM, но Vue возвращает его в конце этого блока кода.
3. Вы можете использовать v-маску для проверки формата, например, <входная v-модель=»форма.MobileNo» имя=»MobileNo» v-маска=»‘## ## ### ## ##'» >
4. @SanthoshKN Я забыл упомянуть, что поле почтовый индекс используется в сочетании со списком стран в выпадающем списке. Эта форма предназначена для глобального приложения для электронной коммерции. Итак, мы говорим здесь о множестве форматов масок.
Ответ №1:
Я изменил объявление функции стрелки на обычное объявление функции. Теперь я могу получить доступ к объекту компонента и изменить значение поля ввода с помощью модели Vuelidate. Благодаря этому: https://github.com/vuelidate/vuelidate/issues/237 🙂