Skip to content
This repository has been archived by the owner on Mar 11, 2022. It is now read-only.

'required' validation rule only enforced on one locale #40

Open
nathan-io opened this issue Dec 31, 2019 · 3 comments
Open

'required' validation rule only enforced on one locale #40

nathan-io opened this issue Dec 31, 2019 · 3 comments

Comments

@nathan-io
Copy link

  • Laravel 6.0.4
  • Laravel Nova 2.9.2
  • mrmonat/nova-translatable 2.0.2

Say we have a field like:

Translatable::make( __('Slug'),  'slug')->rules('required')->sortable()->help(__('help.tips.slug')),

In our application, we have two locales.

If I try to submit the form without entering a value for either locale, I get a validation error stating that the field is required.

However, if I enter a value for only one of the two locales, the submission goes through.

How can we require that all a value is present for all locales?

@approached
Copy link

Same problem, do you have a solution now?

I think there are just miss some required parameter in file: https://github.com/mrmonat/nova-translatable/blob/master/resources/js/components/FormField.vue

@austyuzhaninov
Copy link

Any solutions? This is still a problem

@hernaval
Copy link

hernaval commented Oct 5, 2021

I have encountered this issue also. To resolve, I have added custom validation rules where I can verify if fr and en (and so on...) are not empty or else fail the validation.
My code is bellow, can be improve
validation

Let's analyze it a bit:

  • Here $attribute is not very useful because the value is something like flexible_content.0.text
  • $value is type of array with fr and en as key with their respective values
  • if one of en or fr value are missing, send fail validation

As you see, you can add more locales validation but for me i just use 'fr' and 'en'

Hope It helps

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

No branches or pull requests

4 participants