indicative icon indicating copy to clipboard operation
indicative copied to clipboard

Support for stopping validation on first error per field

Open olaoluwa-98 opened this issue 5 years ago • 2 comments

For instance, if you have the following rules:

    email: 'required|email|unique:users,email',
    phone_no: 'required|unique:users,phone_no',
    password: 'required|min:8'

You may want the validation for email to stop on first error but continue to validate other fields such as phone_no and password which also will stop on first error of any rule item. I believe this feature will allow you to save time spent validating each item of a single rule.

validateAll continues to validate all fields including all the rules under each field. What I am proposing is a validate method that stops validation for each field on first error but continues to validate the other fields.

I am willing to work on it but will need assistance.

olaoluwa-98 avatar Aug 19 '19 13:08 olaoluwa-98

Hello @olaoluwa-98

Yeah, will be nice to have such a feature. Couple of questions?

  1. What should be the name of property? Since validateAll is reserved, what should we call it?
  2. Can you start working on the PR and just ping me, if you get stuck somewhere?

thetutlage avatar Aug 22 '19 09:08 thetutlage

Hello @thetutlage, sorry for the late response.

I'm not sure what name can go with it. But I suggest that we accept an option on the validateAll or validate that will allow this feature. e.g In validate(data, rules, messages, options), the options object will accept the option for. I'll start working on the PR.

olaoluwa-98 avatar Aug 23 '19 07:08 olaoluwa-98