Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoForm does not correctly validate fields with initial value #52

Closed
abuddenb opened this issue Jun 28, 2016 · 9 comments
Closed

AutoForm does not correctly validate fields with initial value #52

abuddenb opened this issue Jun 28, 2016 · 9 comments
Assignees
Labels
Type: Feature New features and feature requests Type: Question Questions and other discussions

Comments

@abuddenb
Copy link

abuddenb commented Jun 28, 2016

Hello there,

I'm trying to pass data to hidden fields in an AutoForm by setting the value prop:

<AutoField name="graphics_title" value="somestring" />

These fields fail validation until they're manually changed. What am I doing wrong?

@radekmie radekmie added Type: Feature New features and feature requests Type: Question Questions and other discussions labels Jun 28, 2016
@radekmie radekmie self-assigned this Jun 28, 2016
@radekmie
Copy link
Contributor

radekmie commented Jun 28, 2016

Actually, it's not implemented right now to do so - initial values are taken from your schema. It seems reasonable, to cover your case - given value (if it's present on the first render) should be treated as initial. I'll do it later today.

@radekmie
Copy link
Contributor

Also, you've mentioned hidden fields... It would be great, to add dedicated component to achieve it. I'm curious, how you deal with those. Would you like to create another issue for that?

@abuddenb
Copy link
Author

abuddenb commented Jun 28, 2016

I did this:

const Hidden = props =>
    <input type="hidden" name={props.name} value={props.value} onChange={event => props.onChange(event.target.value)}/>;

const HiddenField = connectField(Hidden, {
    baseField: BaseField,
    initialValue: true
});

@radekmie
Copy link
Contributor

Okay. How about a really hidden field? By really I mean invisible - type="hidden". Also with an option to switch to noDOM mode. Would you like to create another issue? I can also do it by myself.

@abuddenb
Copy link
Author

Done: #53.

I'm new to React from Meteor. When you implement initial values, will it matter if the initial value comes from a reactive collection? Ex:

<HiddenField name="graphics_id" value={this.context.graphic._id? this.context.graphic._id : ''}/>

this.context.graphic._id will be an empty string when the page first loads.

@radekmie
Copy link
Contributor

Yes, it will matter - initial values are calling onChange only after their first render.

@abuddenb
Copy link
Author

So will onChange detect the updated initial value?

@radekmie
Copy link
Contributor

No. If it will change, it won't be initial value at that time. You have to either wait with render or (what you probably want), use upcoming HiddenField, that will automatically call onChange, when its value will change.

@serkandurusoy
Copy link
Contributor

changing the "visibility" of a field or its container using css causes some
browsers to completely ignore that field!

that's why there is a type=hidden in the html spec.

On Tue, Jun 28, 2016 at 10:56 PM, Radosław Miernik <notifications@github.com

wrote:

Closed #52 #52 via 955f18d
955f18d
.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#52 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AEbz3O7oa2q_1R-uoARoC1qwyL4t0uirks5qQXx8gaJpZM4JAaAq
.

@radekmie radekmie moved this to Closed in Open Source Nov 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature New features and feature requests Type: Question Questions and other discussions
Projects
Archived in project
Development

No branches or pull requests

3 participants