verify field only once

pull/257/head
Pete Matsyburka 2 years ago
parent e7eb1d4f12
commit e9c1242b8d

@ -357,6 +357,7 @@
v-model="values[currentField.uuid]"
:field="currentField"
:show-field-names="showFieldNames"
:verified-value="phoneVerifiedValues[currentField.uuid]"
:default-value="submitter.phone"
:submitter-slug="submitterSlug"
@focus="scrollIntoField(currentField)"
@ -651,6 +652,7 @@ export default {
isFormVisible: this.expand !== false,
showFillAllRequiredFields: false,
currentStep: 0,
phoneVerifiedValues: {},
isSubmitting: false,
submittedValues: {},
recalculateButtonDisabledKey: ''
@ -916,6 +918,7 @@ export default {
},
saveStep (formData) {
const currentFieldUuids = this.currentStepFields.map((f) => f.uuid)
const currentFieldType = this.currentField.type
if (this.isCompleted) {
return Promise.resolve({})
@ -927,6 +930,10 @@ export default {
if (response.status === 200) {
currentFieldUuids.forEach((fieldUuid) => {
this.submittedValues[fieldUuid] = this.values[fieldUuid]
if (currentFieldType === 'phone') {
this.phoneVerifiedValues[fieldUuid] = this.values[fieldUuid]
}
})
}
@ -965,7 +972,15 @@ export default {
formData.append('completed', 'true')
}
await this.saveStep(formData).then(async (response) => {
let saveStepRequest
if (this.phoneVerifiedValues[this.currentField.uuid] === this.values[this.currentField.uuid]) {
saveStepRequest = Promise.resolve({})
} else {
saveStepRequest = this.saveStep(formData)
}
await saveStepRequest.then(async (response) => {
if (response.status === 422 || response.status === 500) {
const data = await response.json()

@ -108,6 +108,11 @@ export default {
type: Object,
required: true
},
verifiedValue: {
type: String,
required: false,
default: ''
},
submitterSlug: {
type: String,
required: true
@ -164,6 +169,10 @@ export default {
})
},
async submit () {
if (this.verifiedValue && this.verifiedValue === this.modelValue) {
return Promise.resolve({})
}
if (!this.$refs.phone.value.toString().startsWith('+')) {
alert(this.t('use_international_format'))

Loading…
Cancel
Save