Compare commits
2 Commits
2a4adec6bd
...
d2a050bd8f
Author | SHA1 | Date | |
---|---|---|---|
d2a050bd8f | |||
3929892602 |
@ -13,16 +13,22 @@ type Person struct {
|
|||||||
Extensions []*ExtensionElement `xml:",any,omitempty"`
|
Extensions []*ExtensionElement `xml:",any,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewPerson(name string) *Person {
|
||||||
|
return &Person{Name: name}
|
||||||
|
}
|
||||||
|
|
||||||
func (p *Person) Check() error {
|
func (p *Person) Check() error {
|
||||||
if p.Name == "" {
|
if p.Name == "" {
|
||||||
return errors.New("name element of person element empty")
|
return errors.New("name element of person element empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if p.Extensions != nil {
|
||||||
for i, e := range p.Extensions {
|
for i, e := range p.Extensions {
|
||||||
if err := e.Check(); err != nil {
|
if err := e.Check(); err != nil {
|
||||||
return fmt.Errorf("extension element %v of person %v: %v", i, p.Name, err)
|
return fmt.Errorf("extension element %v of person %v: %v", i, p.Name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user