2017-06-22 7 views
-1

Es gibt eine KlasseHolen Sie sich den Wert des Feldes

class Real { 

    static constraints = { 
     param_name() 
     param_descr() 
     param_type(inList: ["val", 
         "symbol", 
         "string", 
         "Boolean", 
     ]) 
    } 

    String param_name 
    String param_descr 
    String param_type 
} 

ist Kann ich param_type Werte?

Wenn ja, wie?

Ich brauche meine isList Werte für die weitere Arbeit

Na ja, oder kann es irgendwie anders gemacht werden?

+0

Ich denke, Sie können Enum dafür verwenden. http://grails.asia/groovy-enum-examples – Biswas

Antwort

1

Ich glaube an grails 3 dieser Wert Liste wie folgt zugreifen würde:

Real.getConstrainedProperties().param_type.inList 

in Grails 2 war dies nur

Real.constraints.param_type.inList 

Dies wird wieder die Liste der Werte, die Sie in verwenden könnte Ein <g:select> zum Beispiel

<g:select id="theType" from="${Real.getConstrainedProperties().param_type.inList}"/> 
0

Freund, ich glaube, Sie haben die Einschränkungen in Grals oder Groovy missverstanden.

"Constraints bieten Grails eine deklarative DSL für die Definition von Validierungsregeln, Schema-Generierung und CRUD-Generierung Metadaten". Betrachten wir zum Beispiel diese Einschränkungen:

class User { ...

static constraints = { 
    login size: 5..15, blank: false, unique: true 
    password size: 5..15, blank: false 
    email email: true, blank: false 
    age min: 18 
} 

}

die Verwendung von InList ist: Dieser Test prüft, dass ein Wert in einem Bereich ist oder eine Sammlung von eingeschränkten Werte. Für Beispiel: Name (inList: ["Joe", "Fred", "Bob"])

In Ihrem Szenario validieren Sie, dass ein param_type Wert innerhalb einer Auflistung von eingeschränkten Werten, die Sie in InList angegeben.

Weitere Informationen entnehmen Sie bitte folgende grails offical Seite https://docs.grails.org/latest/ref/Constraints/Usage.html

Wenn ich über Ihre Frage falsch verstanden pls kommentieren mich.

Verwandte Themen