Konform Kotlin跨平台验证库

Kotlin 的跨平台验证,konform搞得挺不错。利用 Kotlin 的类型安全和扩展函数,验证规则写起来既直观又干净。像你在多平台项目里经常会碰到字段校验的问题,比如表单、用户数据、接口响应啥的,用 konform 就能一套写法走天下,Android、iOS、JVM 都能用。

声明式写法是它的一大特色,跟你平时写 Kotlin DSL 一样顺手。比如你有个User数据类,想验证name不能为空、email是合法地址,写起来就跟下面这样:

data class User(val name: String, val email: String)

fun User.validate() = validate { name nonEmpty() email() }

是不是挺直观?而且这个验证不是运行时才报错,而是编译时就能发现问题,效率高,坑也少。写验证规则也不复杂,内置支持nonEmpty()length()range()这些通用校验,实在不够用,你还可以自定义规则。

再说个实用点的事,如果你项目是前后端同写,或者移动端+服务端一起上,那就能感受到 konform 的香了。验证逻辑复用起来省事,不用每个平台都重复造轮子。

结果也挺清晰,验证完会返回一个ValidationResult,你能方便地拿到失败信息,做错误提示也不麻烦。反正如果你在写 Kotlin 多平台项目,或者想让验证逻辑写得更优雅点,不妨试试 konform。

如果你还在找多平台的 Kotlin 模板,这里有个蛮适合的;想深入元编程,也可以看看Ruby 的元编程解析,思路上有点借鉴价值。

zip
konform-master.zip 预估大小:25个文件
folder
konform-master 文件夹
file
.gitignore 321B
file
settings.gradle 70B
file
build.gradle 4KB
folder
src 文件夹
folder
commonTest 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
konform 文件夹
folder
validation 文件夹
file
TestHelpers.kt 282B
file
JSONSchemaStyleConstraintsTest.kt 15KB
file
ValidationResultTest.kt 2KB
file
ValidationBuilderTest.kt 9KB
file
ReadmeExampleTest.kt 4KB
folder
commonMain 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
konform 文件夹
folder
validation 文件夹
file
ValidationBuilder.kt 2KB
folder
jsonschema 文件夹
file
JsonSchema.kt 4KB
file
ValidationResult.kt 2KB
file
Validation.kt 570B
folder
internal 文件夹
file
Builder.kt 6KB
file
Validation.kt 5KB
file
.travis.yml 17B
file
gradlew 5KB
file
LICENSE 1KB
file
_config.yml 26B
file
README.md 5KB
file
gradlew.bat 2KB
file
gradle.properties 27B
folder
gradle 文件夹
folder
wrapper 文件夹
file
gradle-wrapper.properties 202B
file
gradle-wrapper.jar 53KB
file
.editorconfig 245B
file
CNAME 14B
zip 文件大小:71.79KB