fix: reimbursement validation fixes - #2630
Merged
Merged
Conversation
Replace raw TextInput with TextInputField for the draft reimbursement form and add Zod schema validation to reject non-positive amounts. Uses a separate useForm for the draft row with control passed directly to TextInputField to avoid conflicting with the parent form's FormProvider. Previously, entering a negative amount silently failed with no feedback. Now a clear "Amount must be greater than zero" error is shown. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kka7pRSGpL7Ft1vzFMucRg
The errorMessage prop was passed unconditionally, triggering the invalid state immediately when the form opened. Now it only passes the translated error when react-hook-form has flagged the amount field. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
serikjensen
commented
Aug 24, 2026
|
|
||
| // UseFieldProps.control is typed as unparameterized Control (i.e. Control<FieldValues>), | ||
| // which is structurally incompatible with the narrower Control<DraftReimbursementValues>. | ||
| const draftControl = draftForm.control as unknown as Control |
Member
Author
There was a problem hiding this comment.
Gross, going to have claude look into a resolution
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the `as unknown as Control` double cast with a nested FormProvider that scopes the draft form context to its own fields. The context path in useField only shows errorMessage when there is a real validation error, so no conditional logic is needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
krisxcrash
approved these changes
Aug 25, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
Screen.Recording.2026-08-24.at.4.49.12.PM.mov
🤖 Generated with Claude Code