Commit 024b76a9 authored by Valentin Skripnikov's avatar Valentin Skripnikov

-

parent 285c2547
......@@ -55,7 +55,7 @@ body, div, span, input, button {
background-color: #6e8ebd;
border: 1px #6e8ebd solid;
height: 30px;
width: 200px;
width: 110px;
padding-left: 10px
}
......
Вариант 4. Дополнительная валидация формы
-----------------------------------------
Расширение варианта 1. Дополнительная валидация: значение поля «Итоговая сумма»
Расширение :ref:`extfp-usecases-uc1-label`. Дополнительная валидация: значение поля «Итоговая сумма»
должно быть не больше значения поля «Предварительная сумма».
Иначе сразу по мере ввода некорректного значения поле подсвечивается красным
и появляется оранжевая подпись под ним с текстом:
......@@ -11,3 +11,55 @@
.. raw:: html
<iframe src="../../_static/html/integration/extfp-usecases/uc4/index.html" scrolling='no' height="930px" width="100%" style="border:1px solid grey;"></iframe>
Исходный код JavaScript и CSS формы аналогичны :ref:`extfp-usecases-uc1-label`.
Исходный код JavaScript доп. ФЛК для варианта 4, который необходимо вставить
во вкладку «Код скрипта» настроек компонента, соответствующему числовому
полю «Итоговая сумма»:
.. code-block:: javascript
var sum1 = model.playerModel.getModelWithId("sum1");
function checkSumValue() {
return model.getValue() !== null && parseInt(sum1.getValue()) < parseInt(model.getValue());
}
var errorLabel = jQuery("<div>", {class: "asf-Label"});
errorLabel.css("color", "#ff9966");
errorLabel.html('Значение данного поля не должно превышать значения поля "Предварительная сумма"');
view.container.append(errorLabel);
errorLabel.hide();
view.originalMarkInvalid = view.markInvalid;
view.markInvalid = function () {
view.originalMarkInvalid();
errorLabel.show();
};
view.originalUnmarkInvalid = view.unmarkInvalid;
view.unmarkInvalid = function () {
view.originalUnmarkInvalid();
errorLabel.hide();
};
sum1.on("valueChange", function () {
view.checkValid();
});
model.on("valueChange", function () {
view.checkValid();
});
model.originalErrors = model.getSpecialErrors;
model.getSpecialErrors = function () {
if (checkSumValue()) {
return {id: model.asfProperty.id, errorCode: AS.FORMS.INPUT_ERROR_TYPE.valueTooHigh};
} else {
return model.originalErrors();
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment