How to use custom setter in Kotlin class constructor body

This could work:

class Person(email: String) {
    var email: String = email.required()
    set(value) {
        field = value.required()
    }

    private fun String.required() = this.also {
        require(it.trim().isNotEmpty()) {
            "The email cannot be blank"
        }
    }
}
3 Likes