Forum: Rails France Validation pour réservation

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.