本文整理汇总了Golang中github.com/goadesign/goa/dslengine.ValidationErrors类的典型用法代码示例。如果您正苦于以下问题:Golang ValidationErrors类的具体用法?Golang ValidationErrors怎么用?Golang ValidationErrors使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ValidationErrors类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Validate
// Validate makes sure the CORS definition origin is valid.
func (cors *CORSDefinition) Validate() *dslengine.ValidationErrors {
verr := new(dslengine.ValidationErrors)
if strings.Count(cors.Origin, "*") > 1 {
verr.Add(cors, "invalid origin, can only contain one wildcard character")
}
return verr
}
开发者ID:ajoulie,项目名称:goa,代码行数:8,代码来源:validation.go
示例2: validateLicense
func (a *APIDefinition) validateLicense(verr *dslengine.ValidationErrors) {
if a.License != nil && a.License.URL != "" {
if _, err := url.ParseRequestURI(a.License.URL); err != nil {
verr.Add(a, "invalid license URL value: %s", err)
}
}
}
开发者ID:intfrr,项目名称:goa,代码行数:7,代码来源:validation.go
示例3: Validate
// Validate checks that the route definition is consistent: it has a parent.
func (r *RouteDefinition) Validate() *dslengine.ValidationErrors {
verr := new(dslengine.ValidationErrors)
if r.Parent == nil {
verr.Add(r, "missing route parent action")
}
return verr.AsError()
}
开发者ID:intfrr,项目名称:goa,代码行数:8,代码来源:validation.go
示例4: validateContact
func (a *APIDefinition) validateContact(verr *dslengine.ValidationErrors) {
if a.Contact != nil && a.Contact.URL != "" {
if _, err := url.ParseRequestURI(a.Contact.URL); err != nil {
verr.Add(a, "invalid contact URL value: %s", err)
}
}
}
开发者ID:intfrr,项目名称:goa,代码行数:7,代码来源:validation.go
示例5: validateDocs
func (a *APIDefinition) validateDocs(verr *dslengine.ValidationErrors) {
if a.Docs != nil && a.Docs.URL != "" {
if _, err := url.ParseRequestURI(a.Docs.URL); err != nil {
verr.Add(a, "invalid docs URL value: %s", err)
}
}
}
开发者ID:intfrr,项目名称:goa,代码行数:7,代码来源:validation.go
示例6: validateParent
func (r *ResourceDefinition) validateParent(verr *dslengine.ValidationErrors) {
p, ok := Design.Resources[r.ParentName]
if !ok {
verr.Add(r, "Parent resource named %#v not found", r.ParentName)
} else {
if p.CanonicalAction() == nil {
verr.Add(r, "Parent resource %#v has no canonical action", r.ParentName)
}
}
}
开发者ID:smessier,项目名称:goa,代码行数:10,代码来源:validation.go
示例7: validateActions
func (r *ResourceDefinition) validateActions(version *APIVersionDefinition, verr *dslengine.ValidationErrors) {
found := false
for _, a := range r.Actions {
if a.Name == r.CanonicalActionName {
found = true
}
verr.Merge(a.Validate(version))
}
if r.CanonicalActionName != "" && !found {
verr.Add(r, `unknown canonical action "%s"`, r.CanonicalActionName)
}
}
开发者ID:intfrr,项目名称:goa,代码行数:12,代码来源:validation.go
示例8: Validate
// Validate makes sure the CORS definition origin is valid.
func (cors *CORSDefinition) Validate() *dslengine.ValidationErrors {
verr := new(dslengine.ValidationErrors)
if !cors.Regexp && strings.Count(cors.Origin, "*") > 1 {
verr.Add(cors, "invalid origin, can only contain one wildcard character")
}
if cors.Regexp {
_, err := regexp.Compile(cors.Origin)
if err != nil {
verr.Add(cors, "invalid origin, should be a valid regular expression")
}
}
return verr
}
开发者ID:smessier,项目名称:goa,代码行数:14,代码来源:validation.go
示例9: validateBaseParams
func (r *ResourceDefinition) validateBaseParams(verr *dslengine.ValidationErrors) {
baseParams, ok := r.BaseParams.Type.(Object)
if !ok {
verr.Add(r, "invalid type for BaseParams, must be an Object", r)
} else {
vars := ExtractWildcards(r.BasePath)
if len(vars) > 0 {
if len(vars) != len(baseParams) {
verr.Add(r, "BasePath defines parameters %s but BaseParams has %d elements",
strings.Join([]string{
strings.Join(vars[:len(vars)-1], ", "),
vars[len(vars)-1],
}, " and "),
len(baseParams),
)
}
for _, v := range vars {
if _, found := baseParams[v]; !found {
verr.Add(r, "Variable %s from base path %s does not match any parameter from BaseParams",
v, r.BasePath)
}
}
} else {
if len(baseParams) > 0 {
verr.Add(r, "BasePath does not use variables defined in BaseParams")
}
}
}
}
开发者ID:intfrr,项目名称:goa,代码行数:29,代码来源:validation.go
示例10: validateVersionParams
func (a *APIDefinition) validateVersionParams(verr *dslengine.ValidationErrors) {
bwcs := ExtractWildcards(a.BasePath)
for _, param := range a.VersionParams {
found := false
for _, wc := range bwcs {
if wc == param {
found = true
break
}
}
if !found {
verr.Add(a, "invalid version param, %s is not an API base path param (base path is %#v)",
param, a.BasePath)
}
}
}
开发者ID:DavyC,项目名称:goa,代码行数:16,代码来源:validation.go
示例11: Validate
// Validate tests whether the RelationalStore definition is consistent.
func (a *RelationalStoreDefinition) Validate() *dslengine.ValidationErrors {
fmt.Println("Validating Store")
verr := new(dslengine.ValidationErrors)
if a.Name == "" {
verr.Add(a, "store name not defined")
}
if a.Parent == nil {
verr.Add(a, "missing storage group parent")
}
a.IterateModels(func(model *RelationalModelDefinition) error {
verr.Merge(model.Validate())
return nil
})
return verr.AsError()
}
开发者ID:derekperkins,项目名称:gorma,代码行数:17,代码来源:validate.go
示例12: ValidateParams
// ValidateParams checks the action parameters (make sure they have names, members and types).
func (a *ActionDefinition) ValidateParams(version *APIVersionDefinition) *dslengine.ValidationErrors {
verr := new(dslengine.ValidationErrors)
if a.Params == nil {
return nil
}
params, ok := a.Params.Type.(Object)
if !ok {
verr.Add(a, `"Params" field of action is not an object`)
}
var wcs []string
for _, r := range a.Routes {
rwcs := ExtractWildcards(r.FullPath(version))
for _, rwc := range rwcs {
found := false
for _, wc := range wcs {
if rwc == wc {
found = true
break
}
}
if !found {
wcs = append(wcs, rwc)
}
}
}
for n, p := range params {
if n == "" {
verr.Add(a, "action has parameter with no name")
} else if p == nil {
verr.Add(a, "definition of parameter %s cannot be nil", n)
} else if p.Type == nil {
verr.Add(a, "type of parameter %s cannot be nil", n)
}
if p.Type.Kind() == ObjectKind {
verr.Add(a, `parameter %s cannot be an object, only action payloads may be of type object`, n)
}
ctx := fmt.Sprintf("parameter %s", n)
verr.Merge(p.Validate(ctx, a))
}
for _, resp := range a.Responses {
verr.Merge(resp.Validate())
}
return verr.AsError()
}
开发者ID:intfrr,项目名称:goa,代码行数:45,代码来源:validation.go
示例13: Validate
// Validate tests whether the attribute definition is consistent: required fields exist.
// Since attributes are unaware of their context, additional context information can be provided
// to be used in error messages.
// The parent definition context is automatically added to error messages.
func (a *AttributeDefinition) Validate(ctx string, parent dslengine.Definition) *dslengine.ValidationErrors {
if validated[a] {
return nil
}
validated[a] = true
verr := new(dslengine.ValidationErrors)
if a.Type == nil {
verr.Add(parent, "attribute type is nil")
return verr
}
if ctx != "" {
ctx += " - "
}
o := a.Type.ToObject()
if o != nil {
for _, n := range a.AllRequired() {
found := false
for an := range o {
if n == an {
found = true
break
}
}
if !found {
verr.Add(parent, `%srequired field "%s" does not exist`, ctx, n)
}
}
for n, att := range o {
ctx = fmt.Sprintf("field %s", n)
verr.Merge(att.Validate(ctx, a))
}
} else {
if a.Type.IsArray() {
elemType := a.Type.ToArray().ElemType
verr.Merge(elemType.Validate(ctx, a))
}
}
return verr.AsError()
}
开发者ID:stuartweir,项目名称:goa,代码行数:44,代码来源:validation.go
注:本文中的github.com/goadesign/goa/dslengine.ValidationErrors类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论