Add Validation Message

Ahora vamos hacer la validación del campo con Java Script

  • Copiar validate.min.js a /home/enrique/Sites/realestate/public/backend/assets/js/code Para soportar este nuevo código tenemos que agregarlo a resources/views/admin/admin_dashboard.blade.php:
{{-- Plugin para hacer validación de campos con JS --}}
<script src="{{ asset('backend/assets/js/code/validate.min.js') }}"></script> 

Y agregar este código JS en la pagina donde vamos a usar la validación, en este caso en resources/views/backend/amenities/add_amenities.blade.php, insertarlo antes de que termine la sección:

<script type="text/javascript">
    $(document).ready(function (){
        $('#myForm').validate({
            rules: {
                field_name: {
                    required : true,
                }, 
                
            },
            messages :{
                field_name: {
                    required : 'Please Enter FieldName',
                }, 
                 

            },
            errorElement : 'span', 
            errorPlacement: function (error,element) {
                error.addClass('invalid-feedback');
                element.closest('.form-group').append(error);
            },
            highlight : function(element, errorClass, validClass){
                $(element).addClass('is-invalid');
            },
            unhighlight : function(element, errorClass, validClass){
                $(element).removeClass('is-invalid');
            },
        });
    });
    
</script>

@endsection 

Asegurarnos de incluir también el código Jquery al inicio de la sección:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script> 

Para que podamos usar ejecutar el código JS. Agregar el id=“myForm” correspondiente a nuestra forma:

<form id="myForm" method="POST" action="{{ route('store.type') }}" class="forms-sample">
@csrf 

La forma y el codigo js ya modificados queda asi:

...
<form id="myForm" method="POST" action="{{ route('store.type') }}" class="forms-sample">
@csrf


    {{-- Type Name --}}
    <div class="form-group mb-3">
        <label for="amenities_name" class="form-label">Amenities Name</label>
        <input type="text" name="amenities_name" class="form-control">
    </div>

    <button type="submit" class="btn btn-primary me-2">Save Changes</button>

</form> 
...
<script type="text/javascript">
    $(document).ready(function (){
        $('#myForm').validate({

            rules: {

                amenities_name: {
                    required : true,
                },

            },
            messages :{
                amenities_name: {
                    required : 'Favor entrar nombre de amenities, campo requerido',
                },


            },
            errorElement : 'span',
            errorPlacement: function (error,element) {
                error.addClass('invalid-feedback');
                element.closest('.form-group').append(error);
            },
            highlight : function(element, errorClass, validClass){
                $(element).addClass('is-invalid');
            },
            unhighlight : function(element, errorClass, validClass){
                $(element).removeClass('is-invalid');
            },
        });
    });

</script>

La ventaja que tenemos al usar la validación con JS es que sin tener que recargar la pagina los errores de validación son desplegados. Listo!