// Code generated by protoc-gen-validate. DO NOT EDIT.
// source: pb/fiee/cast.proto

package cast

import (
	"bytes"
	"errors"
	"fmt"
	"net"
	"net/mail"
	"net/url"
	"regexp"
	"sort"
	"strings"
	"time"
	"unicode/utf8"

	"google.golang.org/protobuf/types/known/anypb"
)

// ensure the imports are used
var (
	_ = bytes.MinRead
	_ = errors.New("")
	_ = fmt.Print
	_ = utf8.UTFMax
	_ = (*regexp.Regexp)(nil)
	_ = (*strings.Reader)(nil)
	_ = net.IPv4len
	_ = time.Duration(0)
	_ = (*url.URL)(nil)
	_ = (*mail.Address)(nil)
	_ = anypb.Any{}
	_ = sort.Sort
)

// Validate checks the field values on MediaUserListReq with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
func (m *MediaUserListReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on MediaUserListReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// MediaUserListReqMultiError, or nil if none found.
func (m *MediaUserListReq) ValidateAll() error {
	return m.validate(true)
}

func (m *MediaUserListReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for ArtistVal

	// no validation rules for ManagerVal

	// no validation rules for PlatformUserName

	// no validation rules for PlatformID

	// no validation rules for Page

	// no validation rules for PageSize

	if len(errors) > 0 {
		return MediaUserListReqMultiError(errors)
	}

	return nil
}

// MediaUserListReqMultiError is an error wrapping multiple validation errors
// returned by MediaUserListReq.ValidateAll() if the designated constraints
// aren't met.
type MediaUserListReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m MediaUserListReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m MediaUserListReqMultiError) AllErrors() []error { return m }

// MediaUserListReqValidationError is the validation error returned by
// MediaUserListReq.Validate if the designated constraints aren't met.
type MediaUserListReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e MediaUserListReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e MediaUserListReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e MediaUserListReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e MediaUserListReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e MediaUserListReqValidationError) ErrorName() string { return "MediaUserListReqValidationError" }

// Error satisfies the builtin error interface
func (e MediaUserListReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sMediaUserListReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = MediaUserListReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = MediaUserListReqValidationError{}

// Validate checks the field values on MediaUserListResp with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
func (m *MediaUserListResp) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on MediaUserListResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// MediaUserListRespMultiError, or nil if none found.
func (m *MediaUserListResp) ValidateAll() error {
	return m.validate(true)
}

func (m *MediaUserListResp) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	for idx, item := range m.GetData() {
		_, _ = idx, item

		if all {
			switch v := interface{}(item).(type) {
			case interface{ ValidateAll() error }:
				if err := v.ValidateAll(); err != nil {
					errors = append(errors, MediaUserListRespValidationError{
						field:  fmt.Sprintf("Data[%v]", idx),
						reason: "embedded message failed validation",
						cause:  err,
					})
				}
			case interface{ Validate() error }:
				if err := v.Validate(); err != nil {
					errors = append(errors, MediaUserListRespValidationError{
						field:  fmt.Sprintf("Data[%v]", idx),
						reason: "embedded message failed validation",
						cause:  err,
					})
				}
			}
		} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
			if err := v.Validate(); err != nil {
				return MediaUserListRespValidationError{
					field:  fmt.Sprintf("Data[%v]", idx),
					reason: "embedded message failed validation",
					cause:  err,
				}
			}
		}

	}

	// no validation rules for Count

	if len(errors) > 0 {
		return MediaUserListRespMultiError(errors)
	}

	return nil
}

// MediaUserListRespMultiError is an error wrapping multiple validation errors
// returned by MediaUserListResp.ValidateAll() if the designated constraints
// aren't met.
type MediaUserListRespMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m MediaUserListRespMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m MediaUserListRespMultiError) AllErrors() []error { return m }

// MediaUserListRespValidationError is the validation error returned by
// MediaUserListResp.Validate if the designated constraints aren't met.
type MediaUserListRespValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e MediaUserListRespValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e MediaUserListRespValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e MediaUserListRespValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e MediaUserListRespValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e MediaUserListRespValidationError) ErrorName() string {
	return "MediaUserListRespValidationError"
}

// Error satisfies the builtin error interface
func (e MediaUserListRespValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sMediaUserListResp.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = MediaUserListRespValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = MediaUserListRespValidationError{}

// Validate checks the field values on UpdateMediaAccountReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateMediaAccountReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateMediaAccountReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateMediaAccountReqMultiError, or nil if none found.
func (m *UpdateMediaAccountReq) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateMediaAccountReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for PlatformID

	// no validation rules for PlatformUserName

	// no validation rules for PlatformUserID

	// no validation rules for ArtistUuid

	// no validation rules for ArtistName

	// no validation rules for ArtistPhone

	// no validation rules for MediaAccountUuid

	// no validation rules for ManagerUuid

	// no validation rules for ManagerUserName

	if len(errors) > 0 {
		return UpdateMediaAccountReqMultiError(errors)
	}

	return nil
}

// UpdateMediaAccountReqMultiError is an error wrapping multiple validation
// errors returned by UpdateMediaAccountReq.ValidateAll() if the designated
// constraints aren't met.
type UpdateMediaAccountReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateMediaAccountReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateMediaAccountReqMultiError) AllErrors() []error { return m }

// UpdateMediaAccountReqValidationError is the validation error returned by
// UpdateMediaAccountReq.Validate if the designated constraints aren't met.
type UpdateMediaAccountReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateMediaAccountReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateMediaAccountReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateMediaAccountReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateMediaAccountReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateMediaAccountReqValidationError) ErrorName() string {
	return "UpdateMediaAccountReqValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateMediaAccountReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateMediaAccountReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateMediaAccountReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateMediaAccountReqValidationError{}

// Validate checks the field values on UpdateMediaAccountResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateMediaAccountResp) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateMediaAccountResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateMediaAccountRespMultiError, or nil if none found.
func (m *UpdateMediaAccountResp) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateMediaAccountResp) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for MediaAccountUuid

	if len(errors) > 0 {
		return UpdateMediaAccountRespMultiError(errors)
	}

	return nil
}

// UpdateMediaAccountRespMultiError is an error wrapping multiple validation
// errors returned by UpdateMediaAccountResp.ValidateAll() if the designated
// constraints aren't met.
type UpdateMediaAccountRespMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateMediaAccountRespMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateMediaAccountRespMultiError) AllErrors() []error { return m }

// UpdateMediaAccountRespValidationError is the validation error returned by
// UpdateMediaAccountResp.Validate if the designated constraints aren't met.
type UpdateMediaAccountRespValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateMediaAccountRespValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateMediaAccountRespValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateMediaAccountRespValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateMediaAccountRespValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateMediaAccountRespValidationError) ErrorName() string {
	return "UpdateMediaAccountRespValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateMediaAccountRespValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateMediaAccountResp.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateMediaAccountRespValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateMediaAccountRespValidationError{}

// Validate checks the field values on UnbindManagerReq with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
func (m *UnbindManagerReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UnbindManagerReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UnbindManagerReqMultiError, or nil if none found.
func (m *UnbindManagerReq) ValidateAll() error {
	return m.validate(true)
}

func (m *UnbindManagerReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for MediaAccountUuid

	if len(errors) > 0 {
		return UnbindManagerReqMultiError(errors)
	}

	return nil
}

// UnbindManagerReqMultiError is an error wrapping multiple validation errors
// returned by UnbindManagerReq.ValidateAll() if the designated constraints
// aren't met.
type UnbindManagerReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UnbindManagerReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UnbindManagerReqMultiError) AllErrors() []error { return m }

// UnbindManagerReqValidationError is the validation error returned by
// UnbindManagerReq.Validate if the designated constraints aren't met.
type UnbindManagerReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UnbindManagerReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UnbindManagerReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UnbindManagerReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UnbindManagerReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UnbindManagerReqValidationError) ErrorName() string { return "UnbindManagerReqValidationError" }

// Error satisfies the builtin error interface
func (e UnbindManagerReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUnbindManagerReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UnbindManagerReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UnbindManagerReqValidationError{}

// Validate checks the field values on BindManagerReq with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *BindManagerReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on BindManagerReq with the rules defined
// in the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in BindManagerReqMultiError,
// or nil if none found.
func (m *BindManagerReq) ValidateAll() error {
	return m.validate(true)
}

func (m *BindManagerReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for MediaAccountUuid

	// no validation rules for ManagerUuid

	// no validation rules for ManagerUserName

	if len(errors) > 0 {
		return BindManagerReqMultiError(errors)
	}

	return nil
}

// BindManagerReqMultiError is an error wrapping multiple validation errors
// returned by BindManagerReq.ValidateAll() if the designated constraints
// aren't met.
type BindManagerReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m BindManagerReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m BindManagerReqMultiError) AllErrors() []error { return m }

// BindManagerReqValidationError is the validation error returned by
// BindManagerReq.Validate if the designated constraints aren't met.
type BindManagerReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e BindManagerReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e BindManagerReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e BindManagerReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e BindManagerReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e BindManagerReqValidationError) ErrorName() string { return "BindManagerReqValidationError" }

// Error satisfies the builtin error interface
func (e BindManagerReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sBindManagerReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = BindManagerReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = BindManagerReqValidationError{}

// Validate checks the field values on UpdateWorkImageReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateWorkImageReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateWorkImageReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateWorkImageReqMultiError, or nil if none found.
func (m *UpdateWorkImageReq) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateWorkImageReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for Title

	// no validation rules for Content

	// no validation rules for ForbidComment

	// no validation rules for Action

	// no validation rules for WorkUuid

	// no validation rules for ArtistUuid

	// no validation rules for ArtistPhone

	if len(errors) > 0 {
		return UpdateWorkImageReqMultiError(errors)
	}

	return nil
}

// UpdateWorkImageReqMultiError is an error wrapping multiple validation errors
// returned by UpdateWorkImageReq.ValidateAll() if the designated constraints
// aren't met.
type UpdateWorkImageReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateWorkImageReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateWorkImageReqMultiError) AllErrors() []error { return m }

// UpdateWorkImageReqValidationError is the validation error returned by
// UpdateWorkImageReq.Validate if the designated constraints aren't met.
type UpdateWorkImageReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateWorkImageReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateWorkImageReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateWorkImageReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateWorkImageReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateWorkImageReqValidationError) ErrorName() string {
	return "UpdateWorkImageReqValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateWorkImageReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateWorkImageReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateWorkImageReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateWorkImageReqValidationError{}

// Validate checks the field values on UpdateWorkImageResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateWorkImageResp) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateWorkImageResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateWorkImageRespMultiError, or nil if none found.
func (m *UpdateWorkImageResp) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateWorkImageResp) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for WorkUuid

	if len(errors) > 0 {
		return UpdateWorkImageRespMultiError(errors)
	}

	return nil
}

// UpdateWorkImageRespMultiError is an error wrapping multiple validation
// errors returned by UpdateWorkImageResp.ValidateAll() if the designated
// constraints aren't met.
type UpdateWorkImageRespMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateWorkImageRespMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateWorkImageRespMultiError) AllErrors() []error { return m }

// UpdateWorkImageRespValidationError is the validation error returned by
// UpdateWorkImageResp.Validate if the designated constraints aren't met.
type UpdateWorkImageRespValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateWorkImageRespValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateWorkImageRespValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateWorkImageRespValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateWorkImageRespValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateWorkImageRespValidationError) ErrorName() string {
	return "UpdateWorkImageRespValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateWorkImageRespValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateWorkImageResp.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateWorkImageRespValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateWorkImageRespValidationError{}

// Validate checks the field values on UpdateWorkVideoReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateWorkVideoReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateWorkVideoReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateWorkVideoReqMultiError, or nil if none found.
func (m *UpdateWorkVideoReq) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateWorkVideoReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for Title

	// no validation rules for Content

	// no validation rules for VideoUrl

	// no validation rules for CoverUrl

	// no validation rules for PublicConfig

	// no validation rules for Action

	// no validation rules for WorkUuid

	// no validation rules for ArtistUuid

	// no validation rules for ArtistPhone

	if len(errors) > 0 {
		return UpdateWorkVideoReqMultiError(errors)
	}

	return nil
}

// UpdateWorkVideoReqMultiError is an error wrapping multiple validation errors
// returned by UpdateWorkVideoReq.ValidateAll() if the designated constraints
// aren't met.
type UpdateWorkVideoReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateWorkVideoReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateWorkVideoReqMultiError) AllErrors() []error { return m }

// UpdateWorkVideoReqValidationError is the validation error returned by
// UpdateWorkVideoReq.Validate if the designated constraints aren't met.
type UpdateWorkVideoReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateWorkVideoReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateWorkVideoReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateWorkVideoReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateWorkVideoReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateWorkVideoReqValidationError) ErrorName() string {
	return "UpdateWorkVideoReqValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateWorkVideoReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateWorkVideoReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateWorkVideoReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateWorkVideoReqValidationError{}

// Validate checks the field values on UpdateWorkVideoResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateWorkVideoResp) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on UpdateWorkVideoResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateWorkVideoRespMultiError, or nil if none found.
func (m *UpdateWorkVideoResp) ValidateAll() error {
	return m.validate(true)
}

func (m *UpdateWorkVideoResp) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for WorkUuid

	if len(errors) > 0 {
		return UpdateWorkVideoRespMultiError(errors)
	}

	return nil
}

// UpdateWorkVideoRespMultiError is an error wrapping multiple validation
// errors returned by UpdateWorkVideoResp.ValidateAll() if the designated
// constraints aren't met.
type UpdateWorkVideoRespMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m UpdateWorkVideoRespMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m UpdateWorkVideoRespMultiError) AllErrors() []error { return m }

// UpdateWorkVideoRespValidationError is the validation error returned by
// UpdateWorkVideoResp.Validate if the designated constraints aren't met.
type UpdateWorkVideoRespValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e UpdateWorkVideoRespValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e UpdateWorkVideoRespValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e UpdateWorkVideoRespValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e UpdateWorkVideoRespValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e UpdateWorkVideoRespValidationError) ErrorName() string {
	return "UpdateWorkVideoRespValidationError"
}

// Error satisfies the builtin error interface
func (e UpdateWorkVideoRespValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sUpdateWorkVideoResp.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = UpdateWorkVideoRespValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = UpdateWorkVideoRespValidationError{}

// Validate checks the field values on WorkListReq with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *WorkListReq) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on WorkListReq with the rules defined in
// the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in WorkListReqMultiError, or
// nil if none found.
func (m *WorkListReq) ValidateAll() error {
	return m.validate(true)
}

func (m *WorkListReq) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for ArtistVal

	// no validation rules for PlatformID

	// no validation rules for Page

	// no validation rules for PageSize

	if len(errors) > 0 {
		return WorkListReqMultiError(errors)
	}

	return nil
}

// WorkListReqMultiError is an error wrapping multiple validation errors
// returned by WorkListReq.ValidateAll() if the designated constraints aren't met.
type WorkListReqMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m WorkListReqMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m WorkListReqMultiError) AllErrors() []error { return m }

// WorkListReqValidationError is the validation error returned by
// WorkListReq.Validate if the designated constraints aren't met.
type WorkListReqValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e WorkListReqValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e WorkListReqValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e WorkListReqValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e WorkListReqValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e WorkListReqValidationError) ErrorName() string { return "WorkListReqValidationError" }

// Error satisfies the builtin error interface
func (e WorkListReqValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sWorkListReq.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = WorkListReqValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = WorkListReqValidationError{}

// Validate checks the field values on WorkListResp with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *WorkListResp) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on WorkListResp with the rules defined
// in the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in WorkListRespMultiError, or
// nil if none found.
func (m *WorkListResp) ValidateAll() error {
	return m.validate(true)
}

func (m *WorkListResp) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	for idx, item := range m.GetData() {
		_, _ = idx, item

		if all {
			switch v := interface{}(item).(type) {
			case interface{ ValidateAll() error }:
				if err := v.ValidateAll(); err != nil {
					errors = append(errors, WorkListRespValidationError{
						field:  fmt.Sprintf("Data[%v]", idx),
						reason: "embedded message failed validation",
						cause:  err,
					})
				}
			case interface{ Validate() error }:
				if err := v.Validate(); err != nil {
					errors = append(errors, WorkListRespValidationError{
						field:  fmt.Sprintf("Data[%v]", idx),
						reason: "embedded message failed validation",
						cause:  err,
					})
				}
			}
		} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
			if err := v.Validate(); err != nil {
				return WorkListRespValidationError{
					field:  fmt.Sprintf("Data[%v]", idx),
					reason: "embedded message failed validation",
					cause:  err,
				}
			}
		}

	}

	// no validation rules for Count

	if len(errors) > 0 {
		return WorkListRespMultiError(errors)
	}

	return nil
}

// WorkListRespMultiError is an error wrapping multiple validation errors
// returned by WorkListResp.ValidateAll() if the designated constraints aren't met.
type WorkListRespMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m WorkListRespMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m WorkListRespMultiError) AllErrors() []error { return m }

// WorkListRespValidationError is the validation error returned by
// WorkListResp.Validate if the designated constraints aren't met.
type WorkListRespValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e WorkListRespValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e WorkListRespValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e WorkListRespValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e WorkListRespValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e WorkListRespValidationError) ErrorName() string { return "WorkListRespValidationError" }

// Error satisfies the builtin error interface
func (e WorkListRespValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sWorkListResp.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = WorkListRespValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = WorkListRespValidationError{}

// Validate checks the field values on MediaUserListResp_Info with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *MediaUserListResp_Info) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on MediaUserListResp_Info with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// MediaUserListResp_InfoMultiError, or nil if none found.
func (m *MediaUserListResp_Info) ValidateAll() error {
	return m.validate(true)
}

func (m *MediaUserListResp_Info) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for PlatformUserName

	// no validation rules for PlatformID

	// no validation rules for ArtistName

	// no validation rules for ArtistPhone

	// no validation rules for ManagerUserName

	// no validation rules for ManagerUuid

	// no validation rules for MediaAccountUuid

	if len(errors) > 0 {
		return MediaUserListResp_InfoMultiError(errors)
	}

	return nil
}

// MediaUserListResp_InfoMultiError is an error wrapping multiple validation
// errors returned by MediaUserListResp_Info.ValidateAll() if the designated
// constraints aren't met.
type MediaUserListResp_InfoMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m MediaUserListResp_InfoMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m MediaUserListResp_InfoMultiError) AllErrors() []error { return m }

// MediaUserListResp_InfoValidationError is the validation error returned by
// MediaUserListResp_Info.Validate if the designated constraints aren't met.
type MediaUserListResp_InfoValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e MediaUserListResp_InfoValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e MediaUserListResp_InfoValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e MediaUserListResp_InfoValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e MediaUserListResp_InfoValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e MediaUserListResp_InfoValidationError) ErrorName() string {
	return "MediaUserListResp_InfoValidationError"
}

// Error satisfies the builtin error interface
func (e MediaUserListResp_InfoValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sMediaUserListResp_Info.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = MediaUserListResp_InfoValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = MediaUserListResp_InfoValidationError{}

// Validate checks the field values on WorkListResp_Info with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
func (m *WorkListResp_Info) Validate() error {
	return m.validate(false)
}

// ValidateAll checks the field values on WorkListResp_Info with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// WorkListResp_InfoMultiError, or nil if none found.
func (m *WorkListResp_Info) ValidateAll() error {
	return m.validate(true)
}

func (m *WorkListResp_Info) validate(all bool) error {
	if m == nil {
		return nil
	}

	var errors []error

	// no validation rules for WorkUuid

	// no validation rules for Title

	// no validation rules for Content

	// no validation rules for WorkCategory

	// no validation rules for WorkUrl

	// no validation rules for WorkCover

	// no validation rules for WorkStatus

	// no validation rules for SubmitTime

	// no validation rules for StatusUpdateTime

	// no validation rules for ArtistName

	// no validation rules for ArtistPhone

	if len(errors) > 0 {
		return WorkListResp_InfoMultiError(errors)
	}

	return nil
}

// WorkListResp_InfoMultiError is an error wrapping multiple validation errors
// returned by WorkListResp_Info.ValidateAll() if the designated constraints
// aren't met.
type WorkListResp_InfoMultiError []error

// Error returns a concatenation of all the error messages it wraps.
func (m WorkListResp_InfoMultiError) Error() string {
	var msgs []string
	for _, err := range m {
		msgs = append(msgs, err.Error())
	}
	return strings.Join(msgs, "; ")
}

// AllErrors returns a list of validation violation errors.
func (m WorkListResp_InfoMultiError) AllErrors() []error { return m }

// WorkListResp_InfoValidationError is the validation error returned by
// WorkListResp_Info.Validate if the designated constraints aren't met.
type WorkListResp_InfoValidationError struct {
	field  string
	reason string
	cause  error
	key    bool
}

// Field function returns field value.
func (e WorkListResp_InfoValidationError) Field() string { return e.field }

// Reason function returns reason value.
func (e WorkListResp_InfoValidationError) Reason() string { return e.reason }

// Cause function returns cause value.
func (e WorkListResp_InfoValidationError) Cause() error { return e.cause }

// Key function returns key value.
func (e WorkListResp_InfoValidationError) Key() bool { return e.key }

// ErrorName returns error name.
func (e WorkListResp_InfoValidationError) ErrorName() string {
	return "WorkListResp_InfoValidationError"
}

// Error satisfies the builtin error interface
func (e WorkListResp_InfoValidationError) Error() string {
	cause := ""
	if e.cause != nil {
		cause = fmt.Sprintf(" | caused by: %v", e.cause)
	}

	key := ""
	if e.key {
		key = "key for "
	}

	return fmt.Sprintf(
		"invalid %sWorkListResp_Info.%s: %s%s",
		key,
		e.field,
		e.reason,
		cause)
}

var _ error = WorkListResp_InfoValidationError{}

var _ interface {
	Field() string
	Reason() string
	Key() bool
	Cause() error
	ErrorName() string
} = WorkListResp_InfoValidationError{}
