Skip to content

Commit

Permalink
Multiple Textboxes: minValueExpression doesn't apply when the questio…
Browse files Browse the repository at this point in the history
…n is inside a panel fix #7176 (#7177)
  • Loading branch information
andrewtelnov committed Oct 18, 2023
1 parent ff35c9e commit 2d50643
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/question_multipletext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import { JsonObject, Serializer, property, propertyArray } from "./jsonobject";
import { QuestionFactory } from "./questionfactory";
import { SurveyError } from "./survey-error";
import { ILocalizableOwner, LocalizableString } from "./localizablestring";
import { Helpers } from "./helpers";
import { HashTable, Helpers } from "./helpers";
import { CssClassBuilder } from "./utils/cssClassBuilder";
import { settings } from "./settings";

Expand Down Expand Up @@ -586,6 +586,10 @@ export class QuestionMultipleTextModel extends Question
this.items[i].onValueChanged(itemValue);
}
}
public runCondition(values: HashTable<any>, properties: HashTable<any>): void {
super.runCondition(values, properties);
this.items.forEach(item => item.editor.runCondition(values, properties));
}
protected getIsRunningValidators(): boolean {
if (super.getIsRunningValidators()) return true;
for (var i = 0; i < this.items.length; i++) {
Expand Down
23 changes: 23 additions & 0 deletions tests/question_multipletexttests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -192,3 +192,26 @@ QUnit.test("Load min/maxValueExpression from JSON", (assert) => {
assert.equal(question.items[0].minValueExpression, 1);
assert.equal(question.items[0].maxValueExpression, 10);
});
QUnit.test("min/maxValueExpression executing", (assert) => {
const survey = new SurveyModel({
questions: [
{
type: "multipletext",
name: "q1",
items: [
{
name: "item1"
},
{
name: "item2",
minValueExpression: "{q1.item1}"
}
]
}
]
});
const q1 = <QuestionMultipleTextModel>survey.getQuestionByName("q1");
q1.items[0].value = 10;
q1.items[1].value = 5;
assert.equal(q1.items[1].editor.hasErrors(), true);
});

0 comments on commit 2d50643

Please sign in to comment.