Comments (4)
Besides #83, there is another issue about type safety, namely, if you write:
field "someField"
|> string
|> nonEmpty
|> maxLength 7
in a validate function, the code compiles, but the last two checks won't have any effect, they fail silently, you have to group the three checks together and then pass it to field
.
from elm-form.
Yeah, it should be explained more precisely. #83 would improve this but there is a long way to go, so I'll improve the README.
from elm-form.
Okey, I've made it a bit more explicit in the README, and mentioned this issue.
from elm-form.
Has anyone tried fixing this using Lens keys?
We use elm-review-missing-record-field-lens to code generate elm-accessors based lenses and it's been a really nice experience thus far.
I started a Form abstraction from scratch that's a dictionary keyed on the name of the lens which seems to make this sort of thing "type safe" in that Property parent field -> Model parent
ensures that a Form can only be constructed and deconstructed with "keys" that operate on parent
's.
What I haven't figured out is how to "Tree"-ify it to enable nested data & higher kinded types EG:
currently it works really well over
type alias Something =
{ id : Int
, name : String
, address : Address -- Assuming an address can be represented as a string input.
}
What I haven't figured out yet is...
type alias SomethingWithExtraInfo =
{ id : Int
, name : String
, address : Address
, emails : List Email -- Where each email would be it's own form...
}
I feel like this is just a serialization problem but I'm starting to get a bunch of getIntProp
getStrProp
setIntProp
setStrProp
helpers and that feels sort of anti-lensy and I'm not sure quite how to make it all "fit".
from elm-form.
Related Issues (20)
- Nesting a multiple field validation loses the error HOT 2
- Initial textarea value on IE does not work HOT 3
- Example code typo in README
- Support for Ints? HOT 2
- validation it kick off onBlur for initially empty values HOT 1
- Providing default values to nested records?
- How to validate input1 value is the same as input2 value HOT 1
- Email validator too permissive? HOT 2
- Custom Error after validating through an API
- Why is "elm-test" a dependency? HOT 2
- Why no Form.Cancel message?
- Validation error doesn't appear under `liveError`
- Ability to persist form state as JSON ?
- Dependency on elm-test causes compatibility error HOT 1
- Exception Thrown in Output. ReferenceError: Elm is not defined
- Extend Form.Input to support date input
- Example does not compile (Elm 0.19.1)
- Update to `elm-explorations/[email protected]`
- Form Input maintained on Reset HOT 2
- Form validation for more than 8 fields? 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 elm-form.