diff --git a/packages/scenario/src/assertion/extensions/answers.ts b/packages/scenario/src/assertion/extensions/answers.ts index 15a13c9dc..569371e83 100644 --- a/packages/scenario/src/assertion/extensions/answers.ts +++ b/packages/scenario/src/assertion/extensions/answers.ts @@ -1,6 +1,6 @@ import { UnreachableError } from '@getodk/common/lib/error/UnreachableError.ts'; import { getBlobText } from '@getodk/common/lib/web-compat/blob.ts'; -import { constants, type ValidationCondition } from '@getodk/xforms-engine'; +import { type ValidationCondition } from '@getodk/xforms-engine'; import { assert, expect } from 'vitest'; import { ComparableAnswer } from '../../answer/ComparableAnswer.ts'; import { ExpectedApproximateUOMAnswer } from '../../answer/ExpectedApproximateUOMAnswer.ts'; @@ -40,24 +40,16 @@ const assertAnswerResult: AssertAnswerResult = (value) => { }; const matchDefaultMessage = (condition: ValidationCondition) => { - const expectedMessage = constants.VALIDATION_TEXT[`${condition}Msg`]; - return { node: { validationState: { [condition]: { valid: false, - message: { - origin: 'engine', - asString: expectedMessage, - }, + message: null, }, violation: { condition, - message: { - origin: 'engine', - asString: expectedMessage, - }, + message: null, }, }, }, diff --git a/packages/web-forms/locales/strings_en.json b/packages/web-forms/locales/strings_en.json index a566a5eb4..3f4c31ad6 100644 --- a/packages/web-forms/locales/strings_en.json +++ b/packages/web-forms/locales/strings_en.json @@ -47,6 +47,14 @@ "string": "Longitude: {longitude}.", "developer_comment": "Displays the GPS longitude coordinate. {longitude} is the numeric longitude value." }, + "validation_message.required.error": { + "string": "This field is required.", + "developer_comment": "Default error shown when a required field has no value and the form designer did not specify a custom message." + }, + "validation_message.constraint.error": { + "string": "This value doesn't meet the constraint.", + "developer_comment": "Default error shown when a field's value fails a constraint and the form designer did not specify a custom message." + }, "map_async.load_error.message": { "string": "Unable to load map", "developer_comment": "Error message shown when the map component fails to load." diff --git a/packages/web-forms/locales/strings_es.json b/packages/web-forms/locales/strings_es.json index 74d6749c1..b8db06907 100644 --- a/packages/web-forms/locales/strings_es.json +++ b/packages/web-forms/locales/strings_es.json @@ -47,6 +47,14 @@ "string": "Longitud: {longitude}.", "developer_comment": "Displays the GPS longitude coordinate. {longitude} is the numeric longitude value." }, + "validation_message.required.error": { + "string": "Este campo es obligatorio.", + "developer_comment": "Default error shown when a required field has no value and the form designer did not specify a custom message." + }, + "validation_message.constraint.error": { + "string": "No cumple los requisitos.", + "developer_comment": "Default error shown when a field's value fails a constraint and the form designer did not specify a custom message." + }, "map_async.load_error.message": { "string": "No se puede cargar el mapa", "developer_comment": "Error message shown when the map component fails to load." diff --git a/packages/web-forms/src/components/common/ValidationMessage.i18n.json b/packages/web-forms/src/components/common/ValidationMessage.i18n.json new file mode 100644 index 000000000..5d75039b3 --- /dev/null +++ b/packages/web-forms/src/components/common/ValidationMessage.i18n.json @@ -0,0 +1,10 @@ +{ + "validation_message.required.error": { + "string": "This field is required.", + "developer_comment": "Default error shown when a required field has no value and the form designer did not specify a custom message." + }, + "validation_message.constraint.error": { + "string": "This value doesn't meet the constraint.", + "developer_comment": "Default error shown when a field's value fails a constraint and the form designer did not specify a custom message." + } +} diff --git a/packages/web-forms/src/components/common/ValidationMessage.vue b/packages/web-forms/src/components/common/ValidationMessage.vue index 400f9e6ad..fe812cfbf 100644 --- a/packages/web-forms/src/components/common/ValidationMessage.vue +++ b/packages/web-forms/src/components/common/ValidationMessage.vue @@ -1,30 +1,47 @@ diff --git a/packages/web-forms/src/components/form-elements/RankControl.vue b/packages/web-forms/src/components/form-elements/RankControl.vue index 102056d2e..6654f5643 100644 --- a/packages/web-forms/src/components/form-elements/RankControl.vue +++ b/packages/web-forms/src/components/form-elements/RankControl.vue @@ -185,7 +185,7 @@ const onDragEnd = (oldIndex: number | undefined, newIndex: number | undefined) = - +