Как пользоваться функцией asyncValidate из BasePageV2 для проверки заполнения полей на странице ?

Здравствуйте.
У меня есть страница для ввода параметров поиска. Страница не привязана ни к какому объекту. Значения из её полей передаются в параметры бизнес-процесса, выполняющего поиск. Как мне с помощью функции asyncValidate из BasePageV2 проверить, что на моей странице поиска заполнены все поля?

Нравится

4 комментария

Здравствуйте, Евгений!

Для поля Вы можете использовать свойство enable: true. Этот признак сделает поле обязательным для заполнения. Таким образом Вы сможете осуществить валидацию на заполнения полей значениями.

Алексей, у меня в ТЗ указано, в частности, условие, что заполнение любого из полей не обязательно. Поэтому, я и прошу показать мне как проверить заполнение полей с помощью asyncValidate. Моя страница унаследована от модуля "Базовая схема карточки" из пакета NUI. К этому посту я прикрепил текстовый файл, содержащий Javascript страницы.

Евгений, добрый день!

Рекомендую Вам посмотреть реализацию данного метода в DocumentPageV2. Вы можете реализовать необходимый функционал по аналогии. Сначала необходимо реализовать метод проверки заполненности полей (по аналогии с validateAccountOrContactFilling), который принимает в качестве входящих параметров функцию обратного вызова и контекст выполнения, потом вызвать его в asyncValidate. Например:

asyncValidate: function(callback, scope) {
	this.callParent([function(response) {
		if (!this.validateResponse(response)) {
			return;
		}
		Terrasoft.chain(
			function(next) {
				this.myValidationMethod(function(response) {
					if (this.validateResponse(response)) {
						next();
					}
				}, this);
			},
			function() {
				callback.call(scope, response);
			},
			this);
		}, this]);
},

Спасибо.

Показать все комментарии