Jestem nowicjuszem w grails i groovy. Mam klasy domeny Project z datą rozpoczęcia i zakończenia. Chcę wprowadzić ograniczenie określające, że data końcowa musi być większa niż data początkowa (a następnie kolejny obiekt podrzędny projektu musi mieć datę rozpoczęcia i datę zakończenia sprawdzać z datami rodzica Projektu). Czy to możliwe przy minimalnym ograniczeniu, czy też muszę go umieścić w innym miejscu? Unikalne ograniczenie pozwala na połączenie dwóch właściwości w ten sposób, mając nadzieję, że ograniczenia minimalne i maksymalne na to pozwalają. PróbowałemOgraniczenie grails min do sprawdzania daty
startDate(blank:false)
endDate(blank:false, min:'startDate')
zgłasza błąd mówiąc startDate nieruchomość nie jest dostępna w Projekcie
Moja odpowiedź brzmi, zakładając, że 'endDate' jest zdefiniowany jako' java.util.Date'. Czy to jest poprawne? Jeśli nie, proszę podać, co to jest, a ja odpowiednio zaktualizuję swoją odpowiedź. –
Tak, jest to standardowa data. Miałem nadzieję, że ograniczenie min też się do tego zastosuje. Dzięki za odpowiedź :) Tak więc, min dotyczy tylko liczb całkowitych, prawda? –
Cóż, 'min' może zastosować dokładnie na wartości' Date'. Nie sądzę jednak, aby można było użyć wartości dynamicznej (tj. Innej wartości pola) w definicji ograniczenia dla 'min', ponieważ' wiązania' to zamknięcie statyczne. Możesz zrobić 'endDate (min: new Date())', bez żadnych problemów. –