Set the value in the model when the value is valid in the

IntegerControl.
pull/3/head
Murtuza Zabuawala 2016-01-07 18:50:11 +05:30 committed by Ashesh Vashi
parent a611f84aad
commit 6062343bf5
1 changed files with 13 additions and 2 deletions

View File

@ -1034,11 +1034,13 @@
value = this.getValueFromDOM(),
min_value = field.min,
max_value = field.max,
isValid = true,
intPattern = new RegExp("^-?[0-9]*$"),
isMatched = intPattern.test(value);
// Below logic will validate input
if (!isMatched) {
isValid = false;
this.model.errorModel.unset(name);
this.model.errorModel.set(
name,
@ -1049,7 +1051,8 @@
}
// Below will check if entered value is in-between min & max range
if (!_.isUndefined(min_value) && value < min_value) {
if (isValid && (!_.isUndefined(min_value) && value < min_value)) {
isValid = false;
this.model.errorModel.unset(name);
this.model.errorModel.set(
name,
@ -1060,7 +1063,8 @@
);
}
if (!_.isUndefined(max_value) && value > max_value) {
if (isValid && (!_.isUndefined(max_value) && value > max_value)) {
isValid = false;
this.model.errorModel.unset(name);
this.model.errorModel.set(
name,
@ -1070,6 +1074,13 @@
).value()
);
}
// After validation we need to set that value into model (only if all falgs are true)
if (isValid) {
this.stopListening(this.model, "change:" + name, this.render);
this.model.set(name, value);
this.listenTo(this.model, "change:" + name, this.render);
}
}
});