【Go言語】ドメインオブジェクトでバリデーションを実行する方法

Golang

Go言語でドメインオブジェクト自体がバリデーションを行う

Go言語では、ドメインオブジェクトの検証 (バリデーション) を行うために、自分自身に対して定義された関数を使用することができます。

このバリデーション関数では、ドメインオブジェクトが有効かどうかを判断し、バリデーションが成功した場合に true を返し、失敗した場合に false を返すようにします。

また、その関数の名前はIsValidなどが分かりやすくておすすめです。

バリデーション関数の具体的なコード例

例えば、次のような User ドメインオブジェクトがあり、このUserオブジェクトに対するバリデーション関数は以下のようになります。

type User struct {
	Name  string
	Email string
}

func (u *User) IsValid() bool {
    if u.Name == "" || u.Email == "" {
        return false
    }
    return true
}

上記の例だと、UserのNameとEmailが空文字である場合にバリデーションで弾くようにしています。

タイトルとURLをコピーしました