fix: skip button label validation for required nps and rating questions (#5153)

This commit is contained in:
Dhruwang Jariwala
2025-04-02 15:23:25 +05:30
committed by GitHub
parent 2867c95494
commit 6671d877ad
2 changed files with 13 additions and 1 deletions

View File

@@ -146,6 +146,10 @@ export const validationRules = {
fieldsToValidate = fieldsToValidate.filter((field) => field !== "backButtonLabel");
}
if ((question.type === "nps" || question.type === "rating") && question.required) {
fieldsToValidate = fieldsToValidate.filter((field) => field !== "buttonLabel");
}
for (const field of fieldsToValidate) {
if (
question[field] &&

View File

@@ -943,11 +943,19 @@ export const ZSurvey = z
"placeholder",
];
const fieldsToValidate =
let fieldsToValidate =
questionIndex === 0 || isBackButtonHidden
? initialFieldsToValidate
: [...initialFieldsToValidate, "backButtonLabel"];
// Skip buttonLabel validation for required NPS and Rating questions
if (
(question.type === TSurveyQuestionTypeEnum.NPS || question.type === TSurveyQuestionTypeEnum.Rating) &&
question.required
) {
fieldsToValidate = fieldsToValidate.filter((field) => field !== "buttonLabel");
}
for (const field of fieldsToValidate) {
// Skip label validation for consent questions as its called checkbox label
if (field === "label" && question.type === TSurveyQuestionTypeEnum.Consent) {