2016-10-02 5 views
1

In Grails bei Verwendung CommandObjects oder DomainClass Wie kann ich eine Einschränkung einer geerbten Eigenschaft einschränken?Geerbte Einschränkungen strenger machen

sagen, dass ich eine Elternklasse mit Nicht-Null-Eigenschaft payload haben:

abstract class TextContentCommand extends ContentCommand { 

    String payload 

    static constraints = {    
     payload nullable: false 
    } 

In der Unterklasse Ich möchte die Eigenschaft strenger machen und die maximale Länge eingestellt:

class FacebookTextContentCommand extends TextContentCommand { 

    public static final int LENGTH_MAX = 4 

    static constraints = { 
     importFrom TextContentCommand 
     payload maxSize: LENGTH_MAX 
    } 
} 

Diese Weg funktioniert nicht und wenn eine längere Zeichenfolge bereitgestellt wird, wird die Validierung übergeben. Mein Wissen über Grails ist sehr oberflächlich. Wie kann ich die geerbten Eigenschaften einschränken?

Antwort

0

Die Konstante LENGTH_MAX verursachte das Problem. Wenn Sie den Wert direkt angeben, funktioniert die Validierung erneut.

class FacebookTextContentCommand extends TextContentCommand { 

    static constraints = { 
     importFrom TextContentCommand 
     payload maxSize: 4 
    } 
} 
Verwandte Themen