reverse.go
func (r *Regexp) RevertValid(values url.Values) (string, error) {
	reverse, err := r.Revert(values)
	if err != nil {
		return "", err
	}
	if !r.compiled.MatchString(reverse) {
		return "", fmt.Errorf("Resulting string doesn't match the regexp: %q",
			reverse)
	}
	return reverse, nil
}
func (r *Regexp) RevertValid(values url.Values) (string, error) {
	reverse, err := r.Revert(values)
	if err != nil {
		return "", err
	}
	if !r.compiled.MatchString(reverse) {
		return "", fmt.Errorf("Resulting string doesn't match the regexp: %q",
			reverse)
	}
	return reverse, nil
}
func ( r * Regexp ) RevertValid ( values url . Values ) ( string , error ) { reverse , err := r . Revert ( values ) if err != nil { return " " , err } if ! r . compiled . MatchString ( reverse ) { return " " , fmt . Errorf ( " " , reverse ) } return reverse , nil }
// RevertValid is the same as Revert but it also validates the resulting
// string matching it against the compiled regexp.
//
// The values are modified in place, and only the unused ones are left.
RevertValid is the same as Revert but it also validates the resulting string matching it against the compiled regexp . The values are modified in place and only the unused ones are left .