thedevsaddam / govalidator

Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
MIT License
1.32k stars 122 forks source link

Bail on first error #89

Open jcobhams-cp opened 4 years ago

jcobhams-cp commented 4 years ago

Would it be possible to return the error bag on the first failure as opposed to running all the rules.

  1. Bail when the first rule in a ruleset for a field fails example:

    rules := govalidator.MapData{
        "email": []string{"required"},
        "password": []string{"required"},
        "some_field": []string{"bail", "required", "in:something,somethingelse"},
    }
  2. Bail when the first rule for the entire validation fails.

    opts := govalidator.Options{
        Request:         r        // request object
        Rules:           rules,    // rules map
        Messages:        messages, // custom message map (Optional)
        RequiredDefault: true,     // all the field to be pass the rules
                 BailFirstError: true //returns the error bag with only one item
    }
ISNewton commented 3 months ago

up