PromucFlow_constructor/app/client
Jacques Ikot 6628635cf4
fix: mandatory date column enforcement (#35613)
## Description
**Problem:**
When the `isRequired` property is set for date columns in the table
widget, the validation doesn't work as expected. Users can add new rows
without filling in the date field, even though it is marked as required.
This results in rows being added with missing date values, which can
lead to incomplete or invalid data entries.

**Root Cause:**
The validation logic for the date column is currently handled within the
DateCell component. However, the isRequired validation functionality was
not implemented within this component. Additionally, the general
validation logic in the `getEditableCellValidity` function, located in
the derived.js file, does not account date cells in its isRequired
validation.

**Solution:**
To fix this issue:

**Enhance the `getEditableCellValidity` function:** Extend the existing
validation logic in getEditableCellValidity to include the date cell in
its validation, specifically checking for the isRequired property.

**Integrate with DateCell validation:** Ensure that the isRequired
validation is properly executed in conjunction with the existing date
validations inside the DateCell component. This will enforce the
requirement and prevent new rows from being added if the date field is
left empty.

**Test Plan**

https://www.notion.so/appsmith/Test-Plan-Date-Column-Marked-as-Required-Doesn-t-Enforce-Mandatory-Entry-When-Adding-New-Table-Row-c73b764af60842a188cba056bdda6d79?pvs=4

Fixes #34258

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10453174231>
> Commit: 40fe2eaf7d45024bef00f8031e971a5bac2a4e3e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10453174231&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 19 Aug 2024 13:17:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


## Summary by CodeRabbit

- **New Features**
- Introduced validation for "Date" column types, ensuring that required
fields are correctly enforced.

- **Enhancements**
- Improved validation logic for more accurate user feedback in date
cells.
  - Expanded support for validating "date" columns in the table widget.

- **Bug Fixes**
- Enhanced error handling to ensure proper indication of cell validity
based on new validation criteria.
  - Updated visual feedback for cell editor state in the UI.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-20 07:09:51 +01:00
..
.husky ci: Add pre push hook to not allow ee changes in ce (#35276) 2024-07-30 12:11:27 +05:30
.yarn
cypress fix: mandatory date column enforcement (#35613) 2024-08-20 07:09:51 +01:00
docker/templates
generators
packages chore: Remove some logs and errors from console - 1/n (#35674) 2024-08-18 14:48:08 +05:30
public chore: Upgrade TinyMCE (#35399) 2024-08-08 20:08:09 +05:30
src fix: mandatory date column enforcement (#35613) 2024-08-20 07:09:51 +01:00
test chore: rename old ADS package (#35517) 2024-08-08 15:55:00 +03:00
typings
.babelrc chore: rename old ADS package (#35517) 2024-08-08 15:55:00 +03:00
.dockerignore
.editorconfig
.eslintrc.base.json chore: rename old ADS package (#35517) 2024-08-08 15:55:00 +03:00
.eslintrc.js fix: change appsmith alias (#35349) 2024-08-06 17:52:22 +03:00
.fork-ts-checkerrc
.gitignore
.lintstagedrc.json
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh chore: reverted client profiled build (#35306) 2024-07-31 15:23:08 +05:30
craco.build.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
craco.common.config.js
craco.dev.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
cypress_ci_custom.config.ts test: removed retries from all config files (#35750) 2024-08-20 11:20:35 +05:30
cypress_ci_hosted.config.ts test: removed retries from all config files (#35750) 2024-08-20 11:20:35 +05:30
cypress_ci.config.ts test: removed retries from all config files (#35750) 2024-08-20 11:20:35 +05:30
cypress-add-tags.js
cypress.config.ts test: removed retries from config file (#35284) 2024-08-16 19:01:28 +05:30
download-assets.js
jest.config.js chore: Rename wds packages (#35686) 2024-08-16 11:19:42 +05:30
package.json chore: Rename wds packages (#35686) 2024-08-16 11:19:42 +05:30
README.md
README.old.md
start-caddy.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
start-https.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
tailwind.config.js
tsconfig.json chore: upgrade typescript to 5.4 (#35181) 2024-07-30 16:15:48 +02:00
tsconfig.path.json chore: rename old ADS package (#35517) 2024-08-08 15:55:00 +03:00
vercel.json
yarn.lock chore(deps): bump elliptic from 6.5.4 to 6.5.7 in /app/client (#35721) 2024-08-16 17:04:47 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide