首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jquery步骤中的数据(使用验证)保存到3个不同的数据库中

将jquery步骤中的数据(使用验证)保存到3个不同的数据库中
EN

Stack Overflow用户
提问于 2019-06-18 20:54:40
回答 1查看 109关注 0票数 0

我已经使用jquery步骤创建了一个表单,我想要用户将填充到三个不同的数据库实践者,PractitionerSpecialty,PractitionerCompetenceLevel的数据。完成表单后,我使用form.submit();创建请求。但在网站上是返回419错误我不确定我是否正确地创建了控制器函数,这可能是原因之一。

我在blade.php中的表单:

代码语言:javascript
复制
<form method="post" id="practitioner-form" action="/practitioner">
        <h3>Practitioner</h3>
        <section>
            <legend>Practitioner Information</legend>
            <div class="j-row">
                <div class="j-unit" style="width: 45%; display: inline-block">
                    <label for="effective_date" class="j-label">{{trans('personalData.effectiveDate')}}</label>

                    <div class="input-group">
                        <input name="main_effective_date_create" id="main_effective_date_create"
                               type="date" class="form-control required">
                    </div>
                </div>
                <div class="j-unit" style="margin-left: 9%; width: 45%; display: inline-block">
                    <label for="expiry_date" class="j-label">{{trans('personalData.expiryDate')}}</label>

                    <div class="input-group">
                        <input name="main_expiry_date_create" id="main_expiry_date_create"
                               type="date" class="form-control">
                    </div>
                </div>
            </div>

            <div class="j-row">
                <div class="j-unit" style="width: 45%; display: inline-block">
                    <label for="phone" class="j-label">{{trans('personalData.phoneNumber')}}</label>

                    <div class="input-group">
                        <input name="main_phone_create" id="main_phone_create"
                               type="tel" class="form-control">
                    </div>
                </div>
                <div class="j-unit" style="margin-left: 9%; width: 45%; display: inline-block">
                    <label for="mobile" class="j-label">{{trans('personalData.mobileNumber')}}</label>

                    <div class="input-group">
                        <input name="main_mobile_create" id="main_mobil_create"
                               type="tel" class="form-control">
                    </div>
                </div>
            </div>
            <div class="j-row">
                <div class="j-unit">
                    <label for="email" class="j-label">{{trans('personalData.email')}}</label>

                    <div class="input-group">
                        <input name="main_email_create" id="main_email_create"
                               type="tel" class="form-control">
                    </div>
                </div>
            </div>
        </section>
        <h3>{{trans('settings.specialty')}}</h3>
        <section>
            <legend>{{trans('personalData.practitionersSpecialty')}}</legend>
            <div class="j-row">
                <label for="practitioner_specialty_id"
                       class="block">Select {{trans('settings.specialty')}}</label>
                <select name="practitioner_specialty_id_create"
                        id="practitioner_specialty_id_create"
                        class="form-control">
                    @foreach($specialties as $specialty)
                        <option
                            value="{{$specialty->practitioner_specialty_id}}">{{$specialty->name}}</option>
                    @endforeach
                </select>
            </div>
            <div class="j-row">
                <div class="j-unit" style="width: 45%; display: inline-block">
                    <label for="effective_date_specialty"
                           class="j-label">{{trans('personalData.effectiveDate')}}</label>

                    <div class="input-group">
                        <input name="specialty_effective_date_create"
                               id="specialty_effective_date_create"
                               type="date" class="form-control required">
                    </div>
                </div>
                <div class="j-unit" style="margin-left: 9%; width: 45%; display: inline-block">
                    <label for="expiry_date_specialty" class="j-label">{{trans('personalData.expiryDate')}}</label>

                    <div class="input-group">
                        <input name="specialty_expiry_date_create" id="specialty_expiry_date_create"
                               type="date" class="form-control">
                    </div>
                </div>
            </div>
        </section>
        <h3>{{trans('settings.competenceLevel')}}</h3>
        <section>
            <legend>{{trans('personalData.practitionersCompetenceLevel')}}</legend>
            <div class="j-row">
                <label for="competence_level" class="block">{{trans('settings.competenceLevel')}}</label>
                <select name="practitioner_competence_level_id_create"
                        id="practitioner_competence_level_id_create"
                        class="form-control">
                    @foreach($competence_levels as $level)
                        <option
                            value="{{$level->competence_level_id}}">{{$level->name}}</option>
                    @endforeach
                </select>
            </div>
            <div class="j-row">
                <div class="j-unit" style="width: 45%; display: inline-block">
                    <label for="effective_date_competence"
                           class="j-label">{{trans('personalData.effectiveDate')}}</label>

                    <div class="input-group">
                        <input name="competence_effective_date_create"
                               id="competence_effective_date_create"
                               type="date" class="form-control required">
                    </div>
                </div>
                <div class="j-unit" style="margin-left: 9%; width: 45%; display: inline-block">
                    <label for="expiry_date_competence" class="j-label">{{trans('personalData.expiryDate')}}</label>

                    <div class="input-group">
                        <input name="competence_expiry_date_create" id="competence_expiry_date_create"
                               type="date" class="form-control">
                    </div>
                </div>
            </div>
            <div class="form-group row">
                <div class="col-lg-12">
                    <label for="notes" class="block">{{trans('tables.notes')}}</label>
                </div>
                <div class="col-lg-12">
                    <textarea placeholder="Description" cols="80" rows="5" name="notes_create"></textarea>
                </div>
            </div>
        </section>
    </form>

向数据库添加数据的路径:

代码语言:javascript
复制
Route::post('/practitioner', 'CRUD\Settings\PractitionerController@storePractitioner')->name('addPractitioner');

具有存储功能的控制器:

代码语言:javascript
复制
public function storePractitioner(Request $request, $id){
        $practitioner_id = $this->practitionerRepository->getIdByPersonId($id);
        $practitioner = Practitioner::where('person_id', $id);
        $practitioner_specialty = PractitionerSpecialty::where('practitioner_id', $practitioner_id);
        $practitioner_competence_level = PractitionerCompetenceLevel::where('practitioner_id', $practitioner_id);

        $practitioner->effective_date=$request->get('main_effective_date_create');
        $practitioner->expiry_date=$request->get('main_expiry_date_create');
        $practitioner->phone=$request->get('main_phone_create');
        $practitioner->mobile=$request->get('main_mobile_create');
        $practitioner->email=$request->get('main_email_create');
        $practitioner_specialty->practitioner_specialty_id=$request->get('practitioner_specialty_id_create');
        $practitioner_specialty->effective_date=$request->get('specialty_effective_date_create');
        $practitioner_specialty->expiry_date=$request->get('specialty_expiry_date_create');
        $practitioner_competence_level->practitioner_competence_level_id=$request->get('practitioner_competence_level_id_create');
        $practitioner_competence_level->effective_date=$request->get('competence_effective_date_create');
        $practitioner_competence_level->expiry_date=$request->get('competence_expiry_date_create');
        $practitioner_competence_level->notes=$request->get('notes_create');
        return back()->with('success', 'New practitioner has been added');
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-18 21:18:45

您的表单中缺少某些内容。将:{{ csrf_field() }}添加到窗体的窗体开始标记之后

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56649657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档