URL Validation Error

URL Validation Error

djagercddjagercd Posts: 13Questions: 4Answers: 0
edited March 2019 in Free community support

Hi all. I am using NodeJS with Express server and DataTables.net Editor server module.
I have a form where the user is submitting a URL.

If I submit a new item with URL http://www.google.com it works. When I use a different URL such as https://gluedata.harvestapp.com/time (which is a valid url) I get the validation error. Using http://gluedata.harvestapp.com/time works. So I suspect it has something to do with https. Or am I doing something wrong?

The code:

// Editor Code
'use strict';

const
    {
        Editor,
        Field,
        Validate,
        Mjoin,
        Format,
        Options
    } = require('datatables.net-editor-server'),
    db = require('../db'),
    uuidv4 = require('uuid/v4'),
    {logger} = require('../logger');


exports.LinksAPI = (req, res, next) => {


    const editor = new Editor(db, 'links', 'links.uuid')
        .fields(
            new Field('links.uuid'),
            new Field('links.name')
                .validator(Validate.required(
                    new Validate.Options(
                        {message: 'The link name is required.'}
                    ))),
            new Field('links.description')
                .validator(Validate.required(new Validate.Options(
                    {message: 'The link description is required.'}
                ))),
            new Field('links.url')
                .validator(Validate.required(new Validate.Options(
                    {message: 'The link url is required.'}
                )))
                .validator(Validate.dbUnique(new Validate.Options(
                    {message: 'There is already a link with that URL.'}
                )))
                .validator(Validate.url(new Validate.Options(
                    {message: 'You have specified an invalid URL.'}
                ))),
            // new Field('links.icon')
            //     .validator(Validate.fileExtensions(
            //         ['jpg', 'jpeg', 'png', 'bmp'],
            //         'The file must be an image file.'))
        );


    editor.on('preCreate', (editor, values) => {
        console.log(values);
        editor.field('links.uuid').setValue(uuidv4());
    });


    editor.process(req.body)
        .then(function () {
            res.json(editor.data());
        })
        .catch(err => {
            logger.log('error', err.toString());
            res.send({});
        });
};

This question has an accepted answers - jump to answer

Answers

  • djagercddjagercd Posts: 13Questions: 4Answers: 0

    Would love any idea's on this.

  • allanallan Posts: 61,446Questions: 1Answers: 10,054 Site admin
    edited April 2019 Answer ✓

    Hi,

    Sorry we missed this one. You are absolutely correct, it was the https that was causing the issue. The valid-url library that we use for the URL validation has an option to allow https - I've added that in now. You can make that modification locally, or it will be in the 1.9.1 release.

    Allan

  • djagercddjagercd Posts: 13Questions: 4Answers: 0

    Thanks Allan. That solved it.

This discussion has been closed.