Плагин JQuery Validation с Laravel

Мои правила проверки переднего плана не работают. Здесь мои файлы create.blade.php и member_form.blade.php

create.blade.php

{!! Form::model($member, ['action' => 'MemberController@store', 'id' => 'createform']) !!}

    @include('members.partials.member_form')

    <button class = "btn btn-success" type = "submit">Save Member</button>

{!! Form::close() !!}

<script>
    $(document).ready(function(){
        $("#createform").validate({
            rules: {
                name: {
                    required:true
                }
            }
        });
    });
</script>

member_form.blade.php

<div class = "form-group">
{!! Form::label('name', 'First Name:') !!}
{!! Form::text('name', null, ['class' => 'form-control']) !!}
</div>

Когда я тестирую плагин проверки JQuery, я получаю только сообщения внутренней проверки. Когда я пытаюсь создать пустую форму создания, в которой не введено имя, сообщение проверки внешнего интерфейса не появляется. Я ввел js-скрипт не в то место или мой код неправильный? Документация, похоже, соответствует тому, что я здесь закодировал.

Визуализированный HTML:

    <form method = "POST" action = "http://tomcrud.test:8080/members/store" accept-charset = "UTF-8" id = "createform"><input name = "_token" type = "hidden" value = "Q1UhJGJBEvBKqZ2O8FuKL4ukY7Zdedfi0HUn2iHU">

        <div class = "form-group">
    <label for = "name">First Name:</label>
    <input class = "form-control" name = "name" type = "text" id = "name">
</div>

<div class = "form-group">
    <label for = "surname">Last Name:</label>
    <input class = "form-control" name = "surname" type = "text" id = "surname">
</div>

<div class = "form-group">
    <label for = "id_number">ID Number:</label>
    <input class = "form-control" name = "id_number" type = "text" id = "id_number">
</div>

<div class = "form-group">
    <label for = "mobile_number">Mobile Number:</label>
    <input class = "form-control" name = "mobile_number" type = "text" id = "mobile_number">
</div>

<div class = "form-group">
    <label for = "email">Email:</label>
    <input class = "form-control" name = "email" type = "text" id = "email">
</div>

<div class = "form-group">
    <label for = "date_of_birth">D.O.B:</label>
    <input class = "form-control" name = "date_of_birth" type = "text" id = "date_of_birth">
</div>

<div class = "form-group">
    <label for = "language_id">Language:</label>
    <select id = "language_id" name = "language_id"><option value = "1">Afrikaans</option><option value = "2">English</option><option value = "3">Dutch</option><option value = "4">Swahili</option><option value = "5">German</option></select>
</div>

<div class = "form-group">
    <label for = "interest_id[]">Interest:</label>
    <select multiple class = "form-control" id = "interest_id[]" name = "interest_id[]"><option value = "1">Rugby</option><option value = "2">Golf</option><option value = "3">Tennis</option><option value = "4">Squash</option><option value = "5">Paragliding</option><option value = "6">Movies</option><option value = "7">Hiking</option><option value = "8">Diving</option><option value = "9">Fishing</option><option value = "10">Hunting</option></select>
</div>

        <button class = "btn btn-success" type = "submit">Save Member</button>

    </form>

Файлы сценария:

<script src = "http://tomcrud.test:8080/js/jquery-3.3.1.js"></script>
<script src = "http://tomcrud.test:8080/js/bootstrap.js"></script>
<script src = "http://tomcrud.test:8080/js/delete_confirm.js"></script>
<script src = "http://tomcrud.test:8080/js/jquery.validate.js"></script>

Если вы хотите устранить неполадки в коде на стороне клиента, вам необходимо показать нам код сторона клиента. Другими словами, где находится HTML-разметка оказано для формы?

Sparky 10.06.2018 04:47

Содержит ли элемент input атрибут name? Если да, то это name = "name", потому что это именно то, как вы объявили правило, и иначе оно не будет работать.

Sparky 10.06.2018 04:48

Спасибо за ответ @Sparky. Я добавил отрисованный HTML. PS - Я загрузил программное обеспечение JQuery и добавил файл в сценарии в моем главном файле. Не уверены, может ли это повлиять? Помощь приветствуется

jproux 10.06.2018 18:16

Я также добавил файлы сценария, но ничего странного там не вижу.

jproux 10.06.2018 18:24

Вы пытались написать эти правила проверки в функции, а затем добавить форму при событии ('submit')? Похоже, эта проверка активируется при загрузке страницы. вам нужно добавить его в событие отправки формы

Haque 10.06.2018 18:37

@Haque, это неправильно, совершенно неправильно. Метод .validate() - это предполагается, который вызывается при загрузке страницы, чтобы инициализировать плагин. Тогда событие submit - это автоматически, захваченное плагином.

Sparky 10.06.2018 21:54

Код, который вы разместили выше, работает для поля name: jsfiddle.net/90kvqmze ~ проверьте консоль на наличие ошибок JavaScript. Возможно, ваши файлы не включаются должным образом?

Sparky 10.06.2018 21:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
7
1 167
1

Ответы 1

Так что, в конце концов, исправление было действительно глупым. Я поговорил с одним из моих друзей-разработчиков, и он посоветовал мне поместить ссылку в основной файл, а не в конец. Это исправило! Но почему? Не имею представления...

    <!DOCTYPE html>
<html>
    <head>
        <title>ProPay_CRUD - @yield('title')</title>
        <link rel = "stylesheet" href = "{{asset('css/bootstrap.css')}}">
        <link rel = "stylesheet" href = "{{asset('css/custom.css')}}">
        <script src = "{{asset('js/jquery-3.3.1.js')}}"></script>
    </head>
    <body>

        @include('shared.header')

        <div class = "container">
            <div class='row'>
                <div class='col justify-content-center'>
                    <p></p>
                    @include('shared.errors')
                    @include('shared.message')

                    @yield('content')
                </div>
            </div>
        </div>

        @include('shared.footer')

        <script src = "{{asset('js/bootstrap.js')}}"></script>
        <script src = "{{asset('js/delete_confirm.js')}}"></script>
        <script src = "{{asset('js/jquery.validate.min.js')}}"></script>
        <script src = "{{asset('js/additional-methods.min.js')}}"></script>
        <script src = "{{asset('js/validation.js')}}"></script>
    </body>
</html>

Другие вопросы по теме