Это что ли делать не средствами Yii? Как-то проверять заполнение первых двух полей и при заполнии аяксом данные вылавливать?
Да. В js обрабатываете по onChange этих двух полей проверку на заполненность, запрашиваете JSON у бэкенда, передавая их значения, и ответ рассовываете по полям формы.
Евгений, всё это делается средствами yii2 и ajax.
Заполняете первое поле, отловили событие и отправили ajax запрос на сервер. Получили данные с базы, вернули клиенту, подставили в нужное поле формы.
И хорошо бы было увидеть Ваш код, как Вы пытались решить проблему и что именно не получается.
Не понятно вроди все просто
сделайте две модели (два класса отнаследованных от класса Model) и настройте правила валидации для каждой из будущих форм (для ввода табельного номера и ввода всего остального)
а в шаблоне сделайте табы в первом выводите форму для первой модели а во втором табе для второй модели, отправляете хоть аяксом хоть обычным постом и все... в контроллере делаете реализуете load и validate методы каждой модели и вслучае успеха выполняете то что вам надо
Вы будете городить гору своего кода (который надо будет еще тестировать) а так уже все сделано за вас это самый простой способ как для понимания так модификаций (к примеру директор, зам директор и его серкретарши захотят логиниться как то по особенному и поскольку они постоянно не помнят своих регистрационных данных, для этого надо будет писать свои "патчи" вы умрете в своих If-ах case-ах и кучи данных в одном котле)
sidni, о каком огороде Вы говорите? Предлагаете две модели? А зачем? Вы уверены, что необходимы две модели?
Никакого огорода не будет, если написать js в десять строк и одно действие на сервере для обработки ajax запроса.
мне кажется мы о разном...
берем классику Yii (поскольку вопрос именно срествами Yii и нужно решение)
если мы пошли по пути одной формы, как мы обойдем клиентскую валидацию на уровне JS?
UPD
как задать рулсы в самой модели чтоб подсветить неправильные поля если взять тот же самый PJAX (если хотят сделать именно аяксовый вариант)
Но если мы хотим костылить на чистом PHP + JS то ваш вариант подходит (но JS будет не 10 строчек)
если мы пошли по пути одной формы, как мы обойдем клиентскую валидацию на уровне JS?
как задать рулсы в самой модели чтоб подсветить неправильные поля если взять тот же самый PJAX (если хотят сделать именно аяксовый вариант)
sidni, а вот для этого надо видеть код моделей, структуру базы и тому подобное. Без этого можно много чего насоветовать.
Хотя всё это делается, всё будет работать. В одной форме провалидировать несколько моделей несложно. Только не понятно, при чём тут rules и валидация.
Евгений, вполне приемлемо. А что Вас смущает?
Хотя можно сделать для каждого input отдельно ajax. Надо сделать js функцию, которая будет обрабатывать ввод и отправлять ajax.
slo_nik, Меня всё вполне устраивает, правда я поставил на событие change 2 инпута.
Чёт я подумал что если поставлю на событие change и первого и второго инпута, то они ещё при изменении первого отправит аякс. А потом при изменении второго ещё раз.
Ну это просто тестовый вариант я накидал, чтобы проверить как работает.
Тут правда ещё sucess надо модифицировать как-то вот так
Допустим человек новый и отправляет заявку впервые и случайно ввёл не свои данные , и ему вытянет другого человека. А тут он исправит номер и эти данные пропадут благодаря else
slo_nik, Ну смотрите. Смысл в чём. У сотрудника каждого есть свой номер цеха и номер табельный.
Причём номер табельного может повторяться, просто у людей будет разный цех. Согласитесь, что вероятности опечататься и ввести не ту цифру есть, хотя когда он введёт правильные данные повторно сработает событие и вернёт ему правильные данные)
Ну всё равно эта вся лабуда для упрощения ввода данных так как будет обширная БД с 10-15к сотрудников. И для меня будет печально( А это скорее всего) если это БД будет оракловая, а не мускловая. Но это уже совсем другая история)
slo_nik, Изначально не будет никакой идентификации кроме админа.
Смысл в чём, создать простую удобную систему для работников чтобы они брали талоны на приём к врачу. (Кроме талонов тут ещё заявки всякие + вакансии + блог всё это легко делать на Yii2, даже неопытному человеку как мне)
В будущем конечно будут делаться электронные карточки, но думаю работать я уже на этом предприятии не буду, а кто знает)