Forum: Rails France Validation pour réservation

Posted by 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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.