Parsley 2: Validate file extension

by milz

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.7/parsley.min.js"></script>
<form id="myForm">
    <input type="file" name="some-file" data-parsley-fileextension='zip' />
    <input type="submit" />
</form>

JavaScript

$(document).ready(function() {
    window.ParsleyValidator
        .addValidator('fileextension', function (value, requirement) {
            var fileExtension = value.split('.').pop();
            
            return fileExtension === requirement;
        }, 32)
        .addMessage('en', 'fileextension', 'The extension doesn\'t match the required');

    $("#myForm").parsley();
    
    $("#myForm").on('submit', function(e) {
        var f = $(this);
        f.parsley().validate();
        
        if (f.parsley().isValid()) {
            alert('The form is valid');
        } else {
            alert('There are validation errors');
        }
        
        e.preventDefault();
    });
});