Both modules have D11 releases. I think you can remove the _LENIENT_ALLOW_LIST
https://www.drupal.org/project/select2 →
https://www.drupal.org/project/styleguide →
To perform element render validation, we probably need to use functional testing.
The render validation via \Drupal\Tests\webform\Kernel\WebformEntityElementsValidationTest is commented out because it stopped working as Webforms became more complex.
jrockowitz → made their first commit to this issue’s fork.
jrockowitz → made their first commit to this issue’s fork.
Yep, there was a bug that was preventing the display of ignored properties on the Schema.org mapping form.
I think we need to "Improve ignoredProperties UI/UX"
Let's track ignored properties in the admin report so that we can see precisely what is ignored.
The screenshot looks fine. The Schema.org selection handler targets Schema.org types. ImageObject should be mapped to media:image.
It is ignored by default.
You need to remove it from 'Ignored Schema.org properties' via /admin/config/schemadotorg/settings/properties#edit-schema-properties
Below is the default list of ignored properties. We need to simplify it even more, or, by default, leave it blank.
- accessMode
- accessModeSufficient
- accessibilityAPI
- accessibilityControl
- accessibilityFeature
- accessibilityHazard
- accessibilitySummary
- acquireLicensePage
- actionableFeedbackPolicy
- answerCount
- assesses
- branchCode
- conditionsOfAccess
- correction
- creditText
- deathPlace
- diversityStaffingReport
- downvoteCount
- duns
- editEIDR
- encoding
- encodingFormat
- geoContains
- geoCoveredBy
- geoCovers
- geoCrosses
- geoDisjoint
- geoEquals
- geoIntersects
- geoOverlaps
- geoTouches
- geoWithin
- gtin
- gtin12
- gtin13
- gtin14
- gtin8
- hasOfferCatalog
- homeLocation
- identifier
- interactionStatistic
- interactivityType
- interpretedAsClaim
- isicV4
- iso6523Code
- itemListOrder
- leiCode
- materialExtent
- naics
- netWorth
- numberOfItems
- ownershipFundingInfo
- pageEnd
- pageStart
- pagination
- pattern
- position
- potentialAction
- publisherImprint
- publishingPrinciples
- schemaVersion
- sdDatePublished
- sdLicense
- sdPublisher
- sha256
- spatial
- suggestedAnswer
- taxID
- temporal
- temporalCoverage
- unnamedSourcesPolicy
- vatID
- wordCount
Is the schemadotorg_media.module enabled?
If not, please enable it, and it will map your existing media types to the correct Schema.org types.
It seems I secured a sponsor to enhance the webform node 'References' tab by including nodes with paragraphs. This doesn't cover other entity types, but I'll do my best to improve the code to help track usage of other entities.
Let's keep this postponed until the node reference paragraph enhancement is complete.
That seems reasonable. Please create an MR.
I will make some additional tweaks and add a little test coverage to ensure things work as expected.
I think the MR via
🐛
Error: Call to undefined function Drupal\webform\Hook\_webform_token_get_submission_value()
Active
completes the move from token functions to OOP hooks. I moved the webform.token.inc
to includes/*
because most of the legacy functional hooks are also includes/*
.
When 🐛 Error: Call to undefined function Drupal\webform\Hook\_webform_token_get_submission_value() Active is fixed, I will also mark this as fixed to ensure everyone gets commit credit.
I move all the private functions to \Drupal\webform\Hook\WebformTokensHook
_webform_token_get_submission_value =>
\Drupal\webform\Hook\WebformTokensHooks::getSubmissionValue
_webform_token_get_submission_values =>
\Drupal\webform\Hook\WebformTokensHooks::getSubmissionValues
_webform_token_render_more =>
\Drupal\webform\Hook\WebformTokensHooks::renderMore
_webform_token_get_interval_wait =>
\Drupal\webform\Hook\WebformTokensHooks::getIntervalWait
jrockowitz → changed the visibility of the branch 3546389-error-call-to to hidden.
The webform module's hooks are organized into includes, so it makes sense that an include/webform.tokens.inc would be added here.
https://git.drupalcode.org/project/webform/-/blob/6.3.x/webform.module?r...
I am feeling that we need an MVP solution for webform.tokens.inc, and this might be the most straightforward approach.
I think people keep getting thrown off by the fact that Drupal core's email.validator
service allows emails addressed without domains. @see
🐛
Webform contact form email validation not working
Closed: works as designed
If someone is looking for advanced email validation → , there is a module for that
Drupal core's email element and Webform's webform_email_multiple element both use the email.validator
service.
Is there a specific place in the Webform module that is allowing an email address without validating it?
I am leaning toward moving webform.tokens.inc
to includes/webform.token.inc
and then adding it as include to webform.module
.
We will take a slight performance hit for alway loading this code but it feels like the safest and simplest compromise.
@see 🐛 After core commit 11.x-dev#7e27c7f can no longer save field definitions Active
A few tests broke but I still think this is the right solution.
@glynster Thank you for posting something so quickly. I hadn't tested the update which contained a very dumb mistake.
I committed the fix. @see https://git.drupalcode.org/project/webform/-/commit/03af82986c566e137426...
@gogowitsch Thank you for catching that issue. I have seen similar issues when performing bulk operations with views, and it looks like you found the perfect solution—always append sorting by 'id' to ensure the record order is reliable.
Moving to RTBC with the assumption that all the tests will pass.
That video is really helpful. I am baffled to the root cause of that specific warning.
Please reopen if you can reproduce this issue outside of a custom theme
You can use hook_webform_element_default_properties_alter()
to accomplish this.
Take a look at the webform_example_element_properties
We are not going to add new element validation because it would impact the existing implementation.
The email, url, and phone HTML input do have some limited but standardized validation.
I forgot to push a single commit for that one test. I am going to optimistic and move this back to RTBC.
Here is the core issue to address this 🐛 Display Bug when using #states (Forms API) with Ajax Request Needs work
The attached webform replicates the issue. There is no easy fix because the server doesn't know know the clientside required state of an element.
This type of enhancement would change the expected data and should be via custom code or dedicated contrib module.
With ✨ Provide option to disable default Js validation on Telephone element Active , the Drupal.webformTelephoneInternationalValidate can now be overwritten.
@see 🌱 [meta] International Telephone Validation Support Active
Fixed via ✨ New permission for filter and bulk action on overview page Active
I think this is the only solution/compromise.
We could start trimming the leading zero by default, and for existing installations, we can disable the trimming via an update hook.
Moving to RTBC since all the tests should now be passing
I think this is edge case feature that should be addressed in a dedicated contributed module. OOTB the Submission List builder can be replaced with views that hide default properties.
I tweaked the requirements to display missing deprecated module via update (drush updb and update.php) and runtime (Status report) requirements.
Moving this to RTBC.
I am very impressed by the usage of the destination to move the user throught the process of deleting all the submissions before deleting multiple webforms.
Moving to RTBC as long as the test pass
I am very impressed by the usage of the destination to move the user throught the process of deleting all the submissions before deleting multiple webforms.
Below are my steps to review
Create a webform with 1000 submissions
- Attempt to delete the webform
- Confirm that delete submission message is displayed with link to delete submissions.
- Click link and batch delete the 1000 submission
- Confirm redirected to the delete webform page
- Delete the webform.
Confirm multiple webform deletion workflow
- Create two webforms A and B with 1000 submissions.
- Confirm deleting a webform with 1000 submission displays "You may not delete Issue #3257570: A webform until you have removed all of the Issue #3257570: A submissions."
- Confirm bulk deleting both webform displays delete form with "You may not delete these webforms until there is less than 500 total submissions."
- Delete submissions from individual webforms
- Confirm you can now delete the single webform
- Confirm you can now delete both webforms
Could it be that the form creation behavior has changed?
No, but maybe we tweaked something else that prevents the confusion between webforms.
Since 🐛 getParagraphWebformsRecursive causes slow load times Needs review was committed, we might not need to make this tweak.
I am hesitant to making the likert element more complex.
We definitely need an example webform that illustrates the problem and any solution will require test coverage.
Even without select2, select multiple conditions are not working via D11
select_multiple:
'#type': select
'#title': select_multiple
'#options':
one: one
two: two
three: three
'#multiple': true
textarea_multiple:
'#type': textarea
'#title': textarea_multiple
'#states':
visible:
':input[name="select_multiple"]':
value: one
I can't replicate this using the attached webform references by a webform node.
I am confused because the video in #7 shows how users can tab in the the sidebar.
The MR makes complete sense to me and should be merged.
Something I might be missing is how the labels of submit buttons are being set.
I also can't replicate using the webform_test_paragraphs.module with two webforms (A and C) added via paragraphs.
I customize the submit button label via an action element.
I can't replicate this issue based on #10 using the attached webforms
I am using a webform node and a webform block.
This request got me thinking, what if we allow any webform default settings to be altered via YAML via /admin/structure/webform/config.
This could easily be done in a dedicated contribute module called 'Webform Default Settings'.
Yeah, changing the default value is going to create more confusion than it is worth for people.
I am hesitant to allow every webform setting to have a customizable default configuration value.
Sites can use this recipe → to adjust default configuration values when creating a Webform.
Yeh, I think this is "wont fix / works as designed"
#5 found the problematic code, If I comment out Drupal.behaviors.autocomplete.detach
the error goes away.
I can replicate this issue using D11 and Webform 6.3.x. I think this should be considered a major issue because JS error can impact browsers differently.
🐛 Checkboxes/Radios with description display set to "before" renders description in #prefix Active now allows the description to be displayed before.
Other elements are wrapped in a fieldset; if the wrapper is changed to a form element, all the display settings are available.
The attached webform confirms that the description comes before the fieldset and form element wrapper.
I think this issue is resolved.
I am inclined to merge this if all the tests pass
jrockowitz → changed the visibility of the branch 6.3.x to hidden.
jrockowitz → changed the visibility of the branch 3512775-minimum-items-not to hidden.
jrockowitz → changed the visibility of the branch 3512775-MinimumItemsNotRespected to hidden.
With
✨
Provide option to disable default Js validation on Telephone element
Active
, the Drupal.webformTelephoneInternationalValidate
can now be overwritten.
I apologize that I see no way to give people contribution credit on this issue. It is saying, "You need to be a maintainer of the module to make changes."
A dedicated and overridable Drupal.webformTelephoneInternationalValidate
function was created via
✨
Provide option to disable default Js validation on Telephone element
Active
.
The request/patch in #10 has been addressed.
I agree with the conclusion in #3
https://intl-tel-input.com/examples/validation-practical.html
If isValidNumber returns false and you'd like more detail, you can then use the getValidationError method to get more information. This method returns an error code (integer), which you can then map to your own custom error message, as in the example below.
I am not able to replicate this issue using the provides steps and the attached example webform.
The checked condition isn't working because on the server the value of table select stored via the submission.
The attached webform shows the workaround from #3 working
Patches and MRs are welcomed. I am not using s3fs so I can't replicate or fix this issue.
I was able to replicate #7 but I am not going to be able to fix for this issue because conditional logic is displaying the required error for the form element via \Drupal\webform\WebformSubmissionConditionsValidator::validateForm
and other element is displaying the required error for the webform_select_other element via \Drupal\webform\Element\WebformOtherBase::validateWebformOther
.
I am realizing that this ticket has multiple conditional logic issues being mentioned, and it makes it very difficult to resolve any of them.
The original issue can be solved by ensuring a container's conditions are applied to the subelements that have additional conditional logic.
Please open new tickets for the other issues mentioned.
The original example seems to have the same nested condition issue as #10