0

私はユーザーモデルを持っています。そのスキームは次のようになります。

# --- 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を作成しているだけです...

4

1 に答える 1

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のドキュメントを参照してください。

于 2012-08-15T16:36:20.113 に答える