Fromオブジェクト
Formオブジェクトは、通常のモデルとは切り分けてバリデーションや保存処理などを行えるデザインパターンです。複数のモデルにまたがる処理や、通常のモデルと対応しないようなフォームの処理を行うために利用されます。
FormModel クラスを継承することで、テーブルとは無関係なクラスでありながら通常のモデルと同様にattributeを持たせた上でバリデーションも行うことができます。
import { FormModel } from "accel-record";import { attributes } from "accel-record/attributes";import { validates } from "accel-record/validations";
class MyForm extends FormModel {  title = attributes.string();  priority = attributes.integer(3);  dueDate = attributes.date();
  static validations = validates(this, [    ["title", { presence: true }],    ["priority", { numericality: { between: [1, 5] } }],  ]);
  save() {    if (this.isInvalid()) return false;
    // バリデーションが成功した場合の処理    // 各値をモデルに保存するなど    // ...    return true;  }}// フォームの入力値を受け取るconst myFormParams = { title: "Task", priority: "2", dueDate: "2022-12-31" };const form = MyForm.build(myFormParams);if (form.save()) {  // 保存成功時の処理  /* ... */} else {  // 保存失敗時の処理  const errorMessages = form.errors.fullMessages();  // エラーメッセージを表示するなど  /* ... */}