[ https://issues.apache.org/jira/browse/WICKET-6350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sven Meier resolved WICKET-6350. -------------------------------- Resolution: Invalid Assignee: Sven Meier The exception message is corrected now, but generally handling of required and primitives is fine. > 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 > Assignee: Sven Meier > 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)