我有一个User模型,其方案如下所示:
# --- First database schema
# --- !Ups
create sequence s_user_id;
create table user (
id bigint DEFAULT nextval('s_user_id'),
firstName varchar(128),
lastName varchar(128),
email varchar(128) unique
);
# --- !Downs
drop table user;
drop sequence s_user_id;
如何验证新用户而不是仅使用
崩溃RuntimeException:执行语句时发生异常:唯一索引 或主要密钥违规:
另外,我没有使用任何形式或任何形式的观点。我只是在创建一个API ......
答案 0 :(得分:0)
您可以使用表单来定义和触发验证规则。
请注意,您可以使用没有UI的表单,数据可以来自您想要的(WS,代码,HTML ...)
例如:
case class User(name: String, age: Int)
val userForm = Form(
mapping(
"name" -> text.verifying(required),
"age" -> number.verifying(min(0), max(100))
) verifying("Your custom validation", fields => fields match {
case (n, a) => User.myCustomValidation(n,a)
}) (User.apply)(User.unapply)
)
val filledForm = userForm.fill(User("Bob", 18))
if (filledForm.hasErrors) {
// or filledForm.fold
}
有关详细信息,请参阅ScalaForms文档,或more complex exemple。