4
votes

How do I add a "none" option to the play framework select field?

So far, I have this:

<select size="1" name="object.id">
    <option value="">&{'crud.none'}</option>
    #{list items:someItems, as:'item'}
        <option value="${item.id}">${item.name}</option>
    #{/list}
</select>

but when i select the "none" value, play constructs a new object, and tries to save the parent object with a reference to the newly created object, resulting in a hibernate org.hibernate.TransientObjectException

Any ideas?

1

1 Answers

3
votes

Set none option's value to 0 and in your controller add relation only in case if (item.id > 0)

<option value="0">&{'crud.none'}</option>

What's more if this value is required you can use simple check with JavaScript to ensure, that user selected some option