Laravel Student Enrollment Form for Filament | FilaForms                                 [ ![Filaforms Logo](https://filaforms.app/logo.svg)FilaForms

 ](https://filaforms.app)  [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app)  [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

 [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app) [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

  1. [Home](https://filaforms.app)
2. /
3. [Form Templates](https://filaforms.app/templates)
4. /
5. Enroll a student with guardian and medical details in one form

 Education template

Enroll a student with guardian and medical details in one form
==============================================================

Import a Laravel student enrollment form for Filament, collect guardian and medical details, then route each submission to school staff.

 [ Open this template in the demo builder ](https://filaforms.app/app/templates/student-enrollment) 17 fields, 10 required. Free demo account, no card. 

 Updated September 2, 2026

 This Laravel student enrollment form gives families one place to provide student, guardian, and medical consent details. Import the template into FilaForms, then use the field table below as the starting structure for enrollment in the application your school runs.

After a family submits the form, the response enters the submission dashboard for staff review. Your Laravel application can route the student's email, medical conditions, and signature to the school's review workflow. The imported template keeps those details together without requiring a hand-written Filament schema.

The field table below groups information according to the decisions staff make after submission. Guardian details support follow-up. Medical details give the receiving team context for safe review. Consent information makes it clear which part of the response requires a school process beyond ordinary data entry.

Application forms have a 51.6% starter-to-completion rate, according to Zuko Analytics form benchmarking, 2026. Keep the form focused on enrollment decisions. Explain why sensitive information is requested before a family reaches the final submission step.

[FilaForms is a Laravel form builder for Filament](/) when school staff need to manage the imported form inside their application. The visual builder lets them adjust the template in the panel. Your application code remains responsible for the enrollment workflow that follows.

  Fields in this template (17 fields, 10 required) 
--------------------------------------------------

 Field types used: Text, Date, Select, Textarea, Email, Phone Number, Radio, Tags Input, Toggle, Signature. Every field is editable in the builder after import.

### Student

    Field Type Required Validation      Student Full Name `student_name`   Text  Yes  `required`     Date of Birth `date_of_birth`   Date  Yes  `required`     Year Group `year_group`   Select, 12 options  Yes  `required`     Previous School `previous_school`   Text  No  none     Home Address `address`   Textarea  Yes  `required`     

### Guardian

    Field Type Required Validation      Guardian Name `guardian_name`   Text  Yes  `required`     Relationship `relationship`   Select, 5 options  Yes  `required`     Email Address `email`   Email  Yes  `required | email`     Phone Number `phone`   Phone Number  Yes  `required`     Second Guardian Phone `guardian_phone_2`   Phone Number  No  none     Preferred Contact Method `contact_method`   Radio, 3 options  No  none     

### Health and Consent

    Field Type Required Validation      Medical Conditions `medical_conditions`   Textarea  No  none     Allergies `allergies`   Tags Input  No  none     Doctor's Surgery `doctor`   Text  No  none     Consent to Emergency Treatment `medical_consent`   Toggle  Yes  `required`     Consent to Photography `photo_consent`   Toggle  No  none     Guardian Signature `signature`   Signature  Yes  `required`     

 Route enrollment submissions in your Laravel app
------------------------------------------------

Treat a submitted enrollment form as an intake record, not proof that a student has completed enrollment. A school may still need to verify documents, confirm placement, check capacity, or contact a guardian. Keep the original submission available while staff complete those decisions.

Assign a clear owner to each new submission. A registrar may review identity and guardian details first. A school nurse or designated reviewer may need to assess medical conditions separately. The same person does not need access to every part of every response. Route work to the appropriate protected process instead of copying the full submission into email.

Keep the field table as the shared definition of what the template collects. Do not repeat its fields in separate staff documentation. When the school changes a question, review the listener, downstream notifications, and any records created from the response. That review prevents a revised field from silently breaking a routing rule.

FilaForms emits `FormSubmitted` after a family submits the form. The listener below reads `email`, `medical_conditions`, and `signature` from the submission data. It records a small event for the workflow that assigns or alerts the right school staff.

Save the listener as `app/Listeners/RouteStudentEnrollment.php`. Laravel discovers listeners in `app/Listeners` automatically.

```
submission->data;

        $email = $data['email'] ?? null;
        $medicalConditions = $data['medical_conditions'] ?? null;
        $signature = $data['signature'] ?? null;

        Log::info('Student enrollment submitted', [
            'form_id' => $event->form->getKey(),
            'submission_id' => $event->submission->getKey(),
            'email' => $email,
            'medical_conditions' => $medicalConditions,
            'signature' => $signature,
        ]);
    }
}

```

Replace the logging destination with the workflow your school already uses. You might create a review task, notify an internal queue, or attach the submission to a pending enrollment record. Preserve the submitted response as the source record. Link later records back to it so staff can check exactly what the family provided.

Avoid making medical conditions a general-purpose note in the student record before an appropriate reviewer confirms how the school should use them. The enrollment response reflects what a family submitted at one point in time. A verified health plan, accommodation record, or emergency procedure may require its own owner, access rules, and review process.

Some schools use a separate system for formal consent or signatures. Remove the signature field in that case. Route the form to your school's existing e-signature integration instead. The enrollment response can establish the details needed for that next step without presenting an ordinary form field as the final authorization.

The signature field is not a legally binding e-signature. It does not replace a school's official enrollment or consent process. Keep the official process separate when law, policy, or your school's records requirements call for a specific authorization method.

Use the settings block to decide who can receive notifications and how staff review incoming responses. Build conditional questions only when the answer changes a real operational decision. Extra questions create more review work and increase the chance that staff handle information they do not need.

This template is the wrong tool when the school needs a legally binding e-signature as part of enrollment or consent. It collects the initial information and supports a handoff. It does not provide that formal authorization itself. Review the [FilaForms features for Laravel and Filament](/features) when the workflow needs conditional questions, multi-step collection, notifications, or submission reporting.

 Use this template in your own application
-----------------------------------------

 With FilaForms installed, one call creates the form with every field, rule, and setting listed above. Then edit it in the builder.

```
use FilaForms\Core\Support\FormTemplates;

$form = FormTemplates::createFormFromTemplate('student-enrollment');
```

  Template schema (JSON) ```
{
    "name": "Student Enrollment Form",
    "description": "Enroll students with guardian, medical and consent details",
    "icon": "heroicon-o-academic-cap",
    "category": "Education",
    "popularity": "Very High",
    "sections": [
        {
            "name": "Student",
            "fields": [
                {
                    "label": "Student Full Name",
                    "type": "text",
                    "code": "student_name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Date of Birth",
                    "type": "date",
                    "code": "date_of_birth",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Year Group",
                    "type": "select",
                    "code": "year_group",
                    "required": true,
                    "options": [
                        {
                            "value": "Reception"
                        },
                        {
                            "value": "Year 1"
                        },
                        {
                            "value": "Year 2"
                        },
                        {
                            "value": "Year 3"
                        },
                        {
                            "value": "Year 4"
                        },
                        {
                            "value": "Year 5"
                        },
                        {
                            "value": "Year 6"
                        },
                        {
                            "value": "Year 7"
                        },
                        {
                            "value": "Year 8"
                        },
                        {
                            "value": "Year 9"
                        },
                        {
                            "value": "Year 10"
                        },
                        {
                            "value": "Year 11"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Previous School",
                    "type": "text",
                    "code": "previous_school",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Home Address",
                    "type": "textarea",
                    "code": "address",
                    "required": true,
                    "width": "100"
                }
            ]
        },
        {
            "name": "Guardian",
            "fields": [
                {
                    "label": "Guardian Name",
                    "type": "text",
                    "code": "guardian_name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Relationship",
                    "type": "select",
                    "code": "relationship",
                    "required": true,
                    "options": [
                        {
                            "value": "Mother"
                        },
                        {
                            "value": "Father"
                        },
                        {
                            "value": "Grandparent"
                        },
                        {
                            "value": "Legal guardian"
                        },
                        {
                            "value": "Other"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Email Address",
                    "type": "email",
                    "code": "email",
                    "required": true,
                    "validation": [
                        {
                            "name": "email",
                            "parameters": []
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Phone Number",
                    "type": "phone",
                    "code": "phone",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Second Guardian Phone",
                    "type": "phone",
                    "code": "guardian_phone_2",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Preferred Contact Method",
                    "type": "radio",
                    "code": "contact_method",
                    "required": false,
                    "options": [
                        {
                            "value": "Email"
                        },
                        {
                            "value": "Phone"
                        },
                        {
                            "value": "Text message"
                        }
                    ],
                    "width": "50"
                }
            ]
        },
        {
            "name": "Health and Consent",
            "fields": [
                {
                    "label": "Health Information",
                    "type": "section-divider",
                    "code": "health_divider",
                    "required": false,
                    "placeholder": "Health Information",
                    "width": "100"
                },
                {
                    "label": "Medical Conditions",
                    "type": "textarea",
                    "code": "medical_conditions",
                    "required": false,
                    "description": "Shared only with staff who need it",
                    "width": "100"
                },
                {
                    "label": "Allergies",
                    "type": "tags-input",
                    "code": "allergies",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Doctor's Surgery",
                    "type": "text",
                    "code": "doctor",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Consent to Emergency Treatment",
                    "type": "toggle",
                    "code": "medical_consent",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Consent to Photography",
                    "type": "toggle",
                    "code": "photo_consent",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Guardian Signature",
                    "type": "signature",
                    "code": "signature",
                    "required": true,
                    "width": "100"
                }
            ]
        }
    ]
}
```

  Frequently asked questions
--------------------------

  What happens after a student enrollment form is submitted? The submission enters the dashboard, where a Laravel listener can route the student's email, medical conditions, and signature to the school's review workflow. 

 Can I use this enrollment form with an external e-signature provider? Yes. Remove the signature field and route the form to your school's existing e-signature integration instead. 

 How do I handle a submitted enrollment form in Laravel? Listen for FilaForms\\\\Core\\\\Events\\\\FormSubmitted and read email, medical\_conditions, and signature from the submission data. 

 Is the signature field a legally binding e-signature? No. The signature field is not a legally binding e-signature, and it does not replace a school's official enrollment or consent process. 

   Run this form inside your Laravel app.
--------------------------------------

 FilaForms installs as a Filament plugin. Submissions land in your own database.

 [ Try it in the demo ](https://filaforms.app/app/templates/student-enrollment) [ See pricing ](https://filaforms.app/pricing) 

More templates
--------------

- [ Get guardian consent and medical notes before a school trip Import a Laravel field trip permission slip for Filament, collect guardian consent and med... ](https://filaforms.app/templates/field-trip-permission)
- [ Record a patient's medical history before their first visit Import a Laravel medical history form for Filament, collect pre-visit health details, and... ](https://filaforms.app/templates/medical-history)
- [ Register new patients with contact, insurance and consent details Import a Laravel patient intake form for Filament, collect contact, insurance, and consent... ](https://filaforms.app/templates/patient-intake)
- [ Measure how patients experienced their visit, not just outcomes Import a Laravel patient experience survey for Filament, collect visit feedback, and route... ](https://filaforms.app/templates/patient-experience-survey)
- [ Ask attendees how your event went, right after it ends Import a Laravel event feedback form for Filament, collect attendee ratings, and route eac... ](https://filaforms.app/templates/event-feedback)
- [ Brief a writer with everything they need before they start Import a Laravel content request form template for Filament, collect complete writer brief... ](https://filaforms.app/templates/content-request)
- [ Capture honest feedback before an employee's last day Install a Laravel exit interview form for Filament, route sensitive answers carefully, and... ](https://filaforms.app/templates/exit-interview)
- [ Capture scope changes and client approval before work starts Import a Laravel change request form for Filament, record scope, cost, priority, and clien... ](https://filaforms.app/templates/change-request)

    ![FilaForms Logo](/logo.svg) FilaForms 

 Laravel form infrastructure for Filament. Stop rebuilding forms on every project.

 [ Buy a license   ](https://filaforms.app/pricing#plans) 

 ### Product

 [ Features ](https://filaforms.app#features) [ Documentation ](https://docs.filaforms.app) [ Blog ](https://filaforms.app/blog) [ Compare form builders ](https://filaforms.app/compare) [ Templates ](https://filaforms.app/templates) [ Pricing ](https://filaforms.app/pricing) [ About ](https://filaforms.app/about) [ Contact ](mailto:hello@filaforms.app) 

 ### Legal

 [ Terms of Service ](https://filaforms.app/terms-of-service) [ Privacy Policy ](https://filaforms.app/privacy-policy) 

  © 2025-2026 FilaForms. All rights reserved.

 [    ](mailto:hello@filaforms.app) [    ](https://x.com/MinasyanManuk)
