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

[Question] Validate only if field is dirty #62

Open
mariomeyrelles opened this issue Jul 17, 2019 · 2 comments
Open

[Question] Validate only if field is dirty #62

mariomeyrelles opened this issue Jul 17, 2019 · 2 comments

Comments

@mariomeyrelles
Copy link

Hello,

I am using Final Form. I have an e-mail field that is optional.

How would you validate only if the user tried to enter a wrong e-mail? I have succeeded to do this but I didn`t like the solution:

import * as vld from 'redux-form-validators';

<Field name="email" label="E-mail de Contato" placeholder="Deixe seu e-mail" component={TextInputField} validate={emailIfNotEmpty} />

The custom validator code is like this:

const emailIfNotEmpty = (value, allValues, meta) => { if (meta.dirty) { return vld.email()(value); } }

Can you suggest a better approach?

Kind Regards,
Mário

@gtournie
Copy link
Owner

have you checked the conditional validations? You can check the args passed by if and unless. I think the third arg should be meta with Final Form.

@mariomeyrelles
Copy link
Author

I tested right now and I'm just receiving values and value. The props and name parameters remain undefined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants