Salut,

Dans mon application, je peux saisir des cours qui ont une date de début et une date de fin et des sessions qui sont rattachées à des cours avec aussi une date de début et une date de fin.

La date de début d'une session doit être antérieure à sa date de fin.

La plage définie par la date de début et la date de fin d'une session doit se trouver à l'intérieur de la plage définie par la date de début et la date de fin du cours (dont l'id figure dans un champs du formulaire).

Ensuite je devrais aussi vérifier que les sessions ne se chevauchent pas mais pour l'instant, restons-en là.

J'ai étudié la documentation mais je ne sais pas trop comment démarrer, entre une méthode définie comme callback dans le postvalidator ou un validator personnalisé et j'ai du mal à trouver des exemples.

Merci d'avance pour vos conseils

PS pour la première contrainte, j'ai fait ça et ça marche bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$this->validatorSchema->setPostValidator(
			new sfValidatorSchemaCompare('datedebut', sfValidatorSchemaCompare::LESS_THAN_EQUAL, 'datefin',
				array(),
				array('invalid' => 'La date de début ("%left_field%") doit être antérieure à la date de fin ("%right_field%")')
			)
		);