Frage

Das Referenzdokument besagt, dass die Größenbeschränkung:

Verwendet einen groovigen Bereich, um die Größe einer Sammlung oder Anzahl oder die Länge einer Zeichenfolge einzuschränken.

Wenn ich eine Ganzzahl eine Größenbeschränkung aufstelle, bekomme ich eine Warnung

Eigenschaft [Prop] der Domänenklasse Theclass hat Typ [java.lang.Integer] und unterstützt keine Einschränkung [Größe]. Diese Einschränkung wird während der Validierung nicht überprüft.

Ist der Doc falsch?

Ich weiß, ich könnte Reichweite verwenden, aber es wäre im Allgemeinen einfacher, die Anzahl der Ziffern in der Zahl anzugeben und nicht den tatsächlichen Wert 1000000 - 9999999).

War es hilfreich?

Lösung

Wenn Sie die Anzahl der Ziffern wünschen, stellen Sie sicher, dass es positiv ist und eine bestimmte Länge hat:

myInteger( validator: {
   return it > 0 &&  (it.toString.length) == 7
})

Andere Tipps

Ich fand die Antwort bei der Suche nach JIRA: http://jira.codeehaus.org/browse/grails-947. Der Dokument ist falsch.

Wir brauchen keine minsize, maxsize und Größenbeschränkungen mehr für numerische Felder, da diese Funktionalität in den Bereichen Min-, Max- und Bereichsbeschränkungen entspricht. Deshalb markieren wir diese Einschränkungen (nur für numerische Felder) als veraltet in 0,5 und entfernen sie in 0,6.

Sieht so aus, als wäre es beim benutzerdefinierten Validator.

Sie können auch Max verwenden, um eine Ganzzahl wie MyintProp einzuschränken (Max: 9999999)

Wie Sie in Ihrem betont haben Jira Link, ich denke, die richtige Antwort dafür ist die Verwendung der Verwendung der Verwendung Angebot Einschränkung für Ganzzahlen.

Ich denke, das ist ein einfaches Ersetzen size mit range.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top