Показать сообщение отдельно
  #1 (permalink)  
Старый 27.08.2019, 08:42
Новичок на форуме
Отправить личное сообщение для fines179 Посмотреть профиль Найти все сообщения от fines179
 
Регистрация: 27.08.2019
Сообщений: 5

Не работает валидация в модальном окне
Задача: создать таблицу, при нажатии на кнопку появляется модальное окно с формой, данные при заполнении которой, в последующем попадут в эту таблицу.
Пользуюсь плагинами jQuery UI и jQuery validation,
при вызове модального окна через jQuery UI не работает валидация. Пишет при проверке валидности формы "if($('#dialogForm').valid() {}" "форма undefined". Да и вообще валидация внутри формы не работает. Также не работает сброс формы "reset". по отдельности валидация и модальное окно работают хорошо, а вместе никак

вот код
$('#dialogForm').validate({
		
		onsubmit: false,
		
		rules: {
			form_name_сlient: {
				required: true,
				minlength: 3
			},

			form_number_сlient: {
				number: true,
				required: true
			},

			form_data: {
				required: true,
				date: true
			},

			type_appeal: {
				required: true,
			}
		},

		messages: {
			form_name_сlient: {
				required: 'Поле обязательно для заполнения',
				minlength: 'Имя не короче 3х символов'
			},

			form_number_сlient: {
				number: 'Поле заполнено некооректно',
				required: 'Поле обязательно для заполнения'
			},

			form_data: {
				required: 'Поле обязательно для заполнения',
				date: 'Поле заполнено некооректно'
			},

			type_appeal: {
				required: 'Поле обязательно для заполнения'
			}
		},
		
	});
	
	let table = $('table')[0];
	let mesh = $('#dialog_window input');
	
	let appealDialog = $('#dialog_window').dialog({
		autoOpen: false,
		modal: true,
		buttons: {
		
			'Добавить': function() {  
				//if($('#dialogForm').valid()){ не работает 
				   $(`<tr><td>${mesh[0].value}</td>
				   <td>${mesh[1].value}</td>
				   <td>${mesh[2].value}</td>
				   <td>${$("[name='type_appeal']").val()}</td>
				    </tr>`).appendTo(table);
				//}
				$('#dialogForm')[0].reset();//тоже
				$(this).dialog( "close" );
			},

			'Удалить': function() {
				$('#dialogForm')[0].reset();
				$(this).dialog( "close" );
			},
		}
		
	});
	
	$('#appeal').click(function(e) {
		appealDialog.dialog('open');
	});

Последний раз редактировалось fines179, 27.08.2019 в 08:54.
Ответить с цитированием