Здравствуйте. Пишу приложение на nwjs для администрирования гостиницы. В базе есть бронирования с полями даты заезда и даты выезда. Делаю валидацию для бронирования на JavaScript, чтобы нельзя было внести новое бронирование в тот же номер, если в этот период там уже кто-то проживает. На ум ничего совершенно не приходит. У кого был опыт? Что можете подсказать?
const mysql = require("mysql");
const async = require('async');
const connection = mysql.createConnection({
host: "*",
user: "*",
password: "*",
database: '*',
port: 3306
});
$('#reserve-create-button').click(function () {
var inputs = $('#reserve-create-form').children();
var results;
var okay = true;
var okayElements = [inputs[1], inputs[3], inputs[5], inputs[7], inputs[9]];
for(var i = 0; i < okayElements.length; i++) {
if($(okayElements[i]).val() === "") okay = false;
}
if(!okay) alert('Все поля должны быть заполнены');
if(okay) {
async.auto([
function(callback) {
connection.query("SELECT start, finish FROM `reserve` WHERE room = '"+$(inputs[9]).val()+"'", function (error, result) {
results = result;
callback();
});
}
],
function() {
//здесь будет валидация
connection.connect();
connection.query("INSERT INTO `reserve` (name, passport, start, finish, room) VALUES ('" + $(inputs[1]).val() + "', '" + $(inputs[3]).val() + "', '" + $(inputs[5]).val() + "', '" + $(inputs[7]).val() + "', '" + $(inputs[9]).val() + "')", function (error) {
if (error) throw error;
});
connection.end();
}
);
}
});
Можно просто проверять запрошенный номер на предмет отсутствия временной метки...при выезде очищать.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей