Comments (6)
Hi,
sorry, don't have too much time right now for answer, but in ideal world html form must not have inputs with the same name, because values will be overwritten for inputs with same names. So I followed this convention
from react-form-validator-core.
Hello!
sorry, don't have too much time right now for answer,
No worries, I appreciate the response.
but in ideal world html form must not have inputs with the same name, because values will be overwritten for inputs with same names
I'm not sure this is entirely true since you can and usually do have radio and/or checkbox inputs that have the same name. I think since inputs can have an id to make them unique having unique names is not really required. It's mostly up to the server to make sense of post data that has the same key (in this case the input name).
from react-form-validator-core.
If you will have text inputs with same name, server can't handle values correctly.
unique_name = value
So in case of radio inputs it's ok, because you're sending one value of them:
<radio name="abc" value="a" />
<radio name="abc" value="b" />
"abc" param can be "a" or "b" and that's fine.
But in case of text inputs it's not valid:
<textinput name="email" value="[email protected]" />
<textinput name="email" value="[email protected]" />
What value will be sent to backend? "[email protected]" or "[email protected]"? But you need both of them.
You can avoid this case with name="email[]"
, backend will get an array. Also you can handle this with current library by adding indexes (so names will be unique):
<textinput name="email[0]" value="[email protected]" />
<textinput name="email[1]" value="[email protected]" />
Anyway I plan to remove that 'unique name' requirement in future
from react-form-validator-core.
What value will be sent to backend? "[email protected]" or "[email protected]"? But you need both of them.
The browser will send both. In the case of using the get
method on the form, the browser would just append the values onto the url like ?email=a&email=b
. A post
would basically basically do the same thing just not in the url.
You can avoid this case with
name="email[]"
, backend will get an array.
That's really up to the backend you're using, though. As far as I've seen, there's nothing in the actual html spec that says you can't or shouldn't do it.
Anyway I plan to remove that 'unique name' requirement in future
That'd be great! If I get some time, I can submit a pull request for what I think would need changing if that would help things along.
Thanks!
from react-form-validator-core.
Please check the 0.6.1
version
from react-form-validator-core.
Awesome, thanks!
from react-form-validator-core.
Related Issues (20)
- Is there any way to have ValidateOnChangeAfterInitialBlur ? HOT 4
- Validation for checkbox HOT 2
- Uncaught TypeError: _this.props.validatorListener is not a function HOT 1
- Unhandled Promise Rejection on using resetValidations() HOT 1
- Why does it that isFormValid delayed? HOT 2
- Problem with RegEx flags HOT 1
- Update README HOT 1
- Filevalidator: File validation is not working properly HOT 3
- Warning: Legacy context API has been detected within a strict-mode tree. HOT 1
- support "endAdornment" ? HOT 1
- Validation fails for optional TextValidator with min/max string lengths HOT 2
- TypeError: Cannot read property 'Consumer' of undefined - v1.0.0 HOT 2
- Uncaught TypeError: Cannot read property 'attachToForm' of undefined HOT 1
- Add file extension validation and correct name for current file extension validation
- Need Textarea validation HOT 1
- IsPositive accepts 0 while 0 is not a positive number
- Peer dependency for react 17 HOT 1
- Custom validation name should not contain colon ':' HOT 6
- remote validation
- Polyfill library throwing react-17 dependency warning 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 react-form-validator-core.