Forum: Rails France Validation pour réservation

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
589e505a4c94a22853bf667ab27ac1c8?d=identicon&s=25 senaku s. (senaku_s)
on 2011-12-20 12:39
Bonjour,

Je crée un site de réservation. Ma table Busy contient 2 colonne : debut
et fin qui sont de type datetime.

Je souhaite créer une validation pour chaque nouvelle réservation. Or
même si l'erreur est détecté, il écrit tout de même dans la base.

De plus, si toute les réservation ne sont pas détecté :
Exemple, dans la base: du 1 décembre au 31 décembre
formulaire : 2 décembre au 3 décembre

class BusyUnique < ActiveModel::Validator
    def validate(record)
        if Busy.where("((date_at BETWEEN ? AND ?) OR (date_to BETWEEN ?
AND ?)) AND (id != ?)", record.debut, record.fin, record.debut,
record.fin, record.id).exists? == true
        end
    end
end

class Busy < ActiveRecord::Base
    validates :debut, :presence => true
    validates :fi, :presence => true
    validates_with BusyUnique
end
This topic is locked and can not be replied to.