verbb / formie

The most user-friendly forms plugin for Craft CMS.
Other
95 stars 73 forks source link

Date fields not saving inside a repeater field #2083

Open ikullhem opened 1 week ago

ikullhem commented 1 week ago

Describe the bug

So this seems to be the same issue from #1853 but with repeater fields.

I have a date field as the only field inside a repeater and am getting the same error on save: Undefined property: DateTime::$date

I am running the latest release with the fixes from #2074 applied.

Steps to reproduce

  1. Create repeater field with date field inside it
  2. Try to submit form with date field populated
  3. Error on submission

Form settings

Craft CMS version

5.4.7

Plugin version

3.0.7 (dev-craft-5)

Multi-site?

No response

Additional context

No response

engram-design commented 1 week ago

Should be fixed for the next release. To get this early, run composer require verbb/formie:"dev-craft-5 as 3.0.7".

If not, can you send through the full stack trace of the error, as I'd like to know where it's coming from exactly.

ikullhem commented 1 week ago

I ran the update as requested, but still having the same error.

Here's the stack trace:

yii\base\ErrorException: Undefined property: DateTime::$date in /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/helpers/BaseArrayHelper.php:221
Stack trace:
#0 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/web/ErrorHandler.php(79): yii\base\ErrorHandler->handleError()
#1 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/helpers/BaseArrayHelper.php(221): craft\web\ErrorHandler->handleError()
#2 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/helpers/ArrayHelper.php(496): yii\helpers\BaseArrayHelper::getValue()
#3 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/elements/Submission.php(615): craft\helpers\ArrayHelper::getValue()
#4 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/elements/CustomElement.php(48): verbb\formie\elements\Submission->getFieldValue()
#5 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/validators/Validator.php(306): verbb\formie\elements\CustomElement->__get()
#6 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/fields/Date.php(439): yii\validators\Validator->validateAttribute()
#7 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/base/NestedField.php(360): verbb\formie\fields\Date->validateBlocks()
#8 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/validators/InlineValidator.php(77): verbb\formie\base\NestedField->validateCustomFieldAttribute()
#9 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute()
#10 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/base/MultiNestedField.php(104): yii\validators\Validator->validateAttributes()
#11 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/base/Element.php(2802): verbb\formie\base\MultiNestedField->validateBlocks()
#12 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/validators/InlineValidator.php(77): craft\base\Element->validateCustomFieldAttribute()
#13 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute()
#14 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/elements/Submission.php(1237): yii\validators\Validator->validateAttributes()
#15 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/base/Model.php(370): verbb\formie\elements\Submission->afterValidate()
#16 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/base/Element.php(2666): yii\base\Model->validate()
#17 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/elements/Submission.php(521): craft\base\Element->validate()
#18 /home/equalaccess/equalaccessservices.com/vendor/verbb/formie/src/controllers/SubmissionsController.php(527): verbb\formie\elements\Submission->validate()
#19 [internal function]: verbb\formie\controllers\SubmissionsController->actionSubmit()
#20 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#21 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#22 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction()
#23 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/web/Application.php(350): yii\base\Module->runAction()
#24 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/web/Application.php(649): craft\web\Application->runAction()
#25 /home/equalaccess/equalaccessservices.com/vendor/craftcms/cms/src/web/Application.php(312): craft\web\Application->_processActionRequest()
#26 /home/equalaccess/equalaccessservices.com/vendor/yiisoft/yii2/base/Application.php(384): craft\web\Application->handleRequest()
#27 /home/equalaccess/equalaccessservices.com/web/index.php(12): yii\base\Application->run()
#28 {main}
engram-design commented 1 week ago

Is this when making a submission from the front-end? What's the Display Type for the field? Is the date field required?

ikullhem commented 1 week ago

Yes it is when making a submission on the front end.

The field is set to Calendar(Advanced), with just the date field showing. The field is set to required.

engram-design commented 1 week ago

Thanks for confirming. Should be fixed for the next release. To get this early, run composer require verbb/formie:"dev-craft-5 as 3.0.8".

ikullhem commented 1 week ago

Thank you, it looks to be working correctly now!