Не уверен, что у меня есть проблема с пустым ограничением или динамическими лесами
У меня есть простой класс домена, который имеет несколько свойств. Я хочу позволить одному из них быть пустым. Я использую blank: true в моем блоке ограничений.
В Config.groovy я установил convertEmptyStringsToNull = false. Я полагаю, что при отправке формы не будет установлено пустое поле, а при отправке не будет проверено, не обнуляется ли значение.
Я использую Dynamic Scaffolding в моем контроллере.
Я добавил некоторые данные через BootStrap.groovy. Одна запись имеет пустое поле и сохраняет, как я и ожидал.
Затем я запускаю свое приложение, и в списке отображаются мои загруженные записи, в том числе с пустым полем.
Когда я пытаюсь создать новую запись со свойством, которое принимает пробелы, я получаю ошибку проверки "Пожалуйста, заполните это поле". Я считаю, что запись должна сохранить.
Я не уверен, является ли это проблемой с представлением лесов, проблемой с пустым ограничением, или я не понимаю, как эти функции должны работать.
Любая помощь будет оценена.
1 ответ
Я думаю, что ваша запись в Config.groovy:
grails.databinding.convertEmptyStringsToNull = false
Плагин scaffolding не учитывает этот параметр конфигурации, а представление scaffolded _form.gsp содержит атрибут required=""
<g:textField name="name" required="" value="${fooInstance?.name}"/>
Вы должны удалить
required=""
в результате чего
<g:textField name="name" value="${fooInstance?.name}"/>
так что браузер позволяет вводить пустое значение.