Comments (4)
Hey, @wladiston! Thanks for creating this issue!
Can you share a code example with the schema, the action, and the form?
Thanks!
from remix-forms.
Sure thing, there you go
Schema
export const CurrencySchema = z
.string()
.regex(
/^\d*(\.\d{3})?(,\d{1,2})?$/,
'Deve ser um número com duas casas decimais depois da virgula.',
)
.transform(transformMoney)
/**
* Convert the monetary string to the money in cents
* @param text
* @returns money in cents
*/
function transformMoney(text: unknown) {
const numbers = (text as string).replace(/[A-Za-z.]/, '').split(',')
const decimals = `${numbers[1] === undefined ? '' : numbers[1]}00`.slice(0, 2)
const formattedNumber = `${numbers[0]}${decimals}`
return parseInt(formattedNumber, 10)
}
export const schema = z.object({
value: CurrencySchema.refine(
a => (typeof a === 'number' ? a > 0 : true),
'Valor deve ser maior que zero',
),
})
action
const mutation = makeDomainFunction(schema)(async (values, {venueId}) => {
console.log('values', values)
debugger
})
export const action: ActionFunction = async ({request, params}) =>
formAction({
request,
schema,
mutation,
})
Form is just a normal magic one
from remix-forms.
Hey, @wladiston!
I just ran a test with your code and it seems to be working for me. Let me check if I understand the idea: if I type 1234,56
on the field, values
inside your mutation should be { values: 123456 }
? That's what I'm getting.
from remix-forms.
Correct, yeap, I actually forgot to close this cause I got it working
from remix-forms.
Related Issues (20)
- Inconsistent display of selected option in select control HOT 4
- Custom Component typings HOT 2
- Error: Cannot submit element that is not <form>, <button>, or <input type="submit|image"> HOT 1
- Multiple Checkboxes HOT 3
- Define Input type through fieldTypes HOT 5
- Bring `errorMessagesForSchema` from `domain-functions` to this library HOT 1
- form with mode="onChange" button flashes when it hydrates HOT 2
- Could not resolve "@deepkit/type" HOT 3
- Overriding fields HOT 2
- <Field hidden /> is not passing `type="hidden"` to its input
- Validation error not shown when field is an array
- Can't trigger onSubmit from Form-component HOT 6
- Handle `z.object` HOT 1
- Can remix-forms function within a PWA / client side only context? HOT 4
- Zod schema array of objects HOT 1
- Remix forms site example no longer maintained? HOT 1
- [BUG] Field error(s) not showing if using additional component HOT 1
- Input ID's not always unique when multiple forms are rendered
- Example of how to do crud correctly?
- How to add a reset button on the side of the submit button? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from remix-forms.