假设我们有一个命令AddUser
:
case class AddUser(username: String, password: String)
在持久化事件之前验证此命令的最佳方法是什么?例如,以这样的方式进行操作似乎有点混乱。
override def receiveCommand: Receive = {
case AddUser(username, password) =>
if (username.trim.length > 25) {
sender() ! UsernameTooLong
} else if (password.trim.length > 25) {
sender() ! PasswordTooLong
} else {
persist(UserAdded(User(username, password))) {
userAdded =>
sender() ! userAdded
}
}
}