Node.js Express проверка правильности ввода для двух строк между ':' - PullRequest
0 голосов
/ 22 апреля 2020

Я реализовал страницу, на которой студенты могут вводить свое название курсовой работы с намеченными вехами. Тем не менее, я хочу добавить проверку, которая позволит пользователям входить только с использованием следующего метода, две строки с «:» между ними. Например - «Курсовая работа: Веха». Любая длина строки, допустимая, при условии, что есть две строки с ':', чтобы разделить их посередине, как показано в примере. Я очень новичок в Node.js, Express, jQuery и Handlebars, и я искал способы сделать это, но ни один не показался мне полезным. Ниже приведен единственный необходимый код.

в файле контроллера, раздел для создания новых входных данных

const Task = require('../models/task');


    create: function(req, res) {
        Task
            .create(req.body)
            .then(result => {
                // result.sort(sortTask)
                res.json(result)
            })
            .catch(err => res.json(err));
    }

файл модели, задача. js, для справки

//dependency
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

//data inputted into the database, coursework/milestones section, validation included
const taskSchema = new Schema({
    task: {
        type: String,
    },
    completed: {
        type: Boolean,
        default: false
    },
    addedAt: {
        type: Date,
        default: Date.now()
    },
});

const Task = module.exports = mongoose.model('Task', taskSchema);

* Код 1018 *, позволяющий выполнять эти действия, в папке publi c, eventListeners. js file

$(document).ready(function() {


//index page events
//click even for creating a milestone/coursework
  $('#create').on('click', function(e) {
      createTask(e);
  });

//keypress event that allows milestone?coursework to be created on 'Enter'
  $('#task').keypress(function(e) {
      if (e.key === 'Enter') {
          createTask(e);
      }
  });

секция ввода файла index.hbs

<input type="text" class="form-control" placeholder="Coursework : Milestone" id="task" autofocus>

1 Ответ

0 голосов
/ 22 апреля 2020

RegExp.prototype.test () - это то, что вы ищете. В вашем случае использования:

/:/.test(<user input>)
...