[
https://issues.apache.org/jira/browse/WICKET-6350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15947668#comment-15947668
]
Sven Meier commented on WICKET-6350:
------------------------------------
Correct me if I'm wrong, but you have a model of a primitive int. In that case
your formComponent *has* to be required.
{code}
if (!required && getType() != null && getType().isPrimitive())
{
throw new WicketRuntimeException("FormComponent can't be required when
the type is primitive class: " + this);
}
{code}
IMHO the exception message is wrong, it should be "FormComponent has to be
required when the type is primitive class: ".
> setRequired checks for primitive type only when the FormComponent is NOT
> required
> ---------------------------------------------------------------------------------
>
> Key: WICKET-6350
> URL: https://issues.apache.org/jira/browse/WICKET-6350
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 8.0.0-M4
> Reporter: Joachim Rohde
> Priority: Minor
>
> I was tinkering around with Kotlin and Wicket and had the following snippet:
> val housenumbervalue: Int? = null
> val housenumberModel: IModel<Int> = Model<Int>()
> val housenumber = TextField<Int>("housenumberModel", housenumberModel,
> Int::class.java)
> val form: Form<Unit> = object : Form<Unit>("adressForm") {}
> override fun onInitialize() {
> super.onInitialize()
> form.add(housenumber.setRequired(false))
> form.add(object : SubmitLink("submit") {
> override fun onSubmit() {
> super.onSubmit()
> println(housenumberModel.`object`)
> }
> })
> add(form)
> }
> This code resulted in
> org.apache.wicket.WicketRuntimeException: FormComponent can't be required
> when the type is primitive class: [TextField [Component id =
> housenumberModel]]
> at
> org.apache.wicket.markup.html.form.FormComponent.setRequired(FormComponent.java:1052)
> at com.mycompany.test.web.pages.Test.onInitialize(Test.kt:28)
> Turns out that setRequired was checking only if the FormComponent was *not*
> required. It should be the other way round. I opened a pull request.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)