# SyteLine FormScripts, validators, personalization and bookmarks

> Source: https://netray.co/erp-help/syteline-formscript-validators-personalization-bookmarks
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

FormScripts add custom behavior to a Mongoose form (react to events, set values, call IDO methods), validators check field input, and personalization and bookmarks change how a user sees and reaches forms without code. Choose the lightest tool that works: bookmark or personalize first, validator second, FormScript last.

## Kind

how-to

## System

syteline

## Erp

Infor SyteLine (CloudSuite Industrial)

## Module

Mongoose / Form Customization

## Query

syteline formscript

## Alternate Queries

- syteline validators
- syteline 10 personalization
- how to bookmark a form in syteline

## Applies To

SyteLine 9.x and CloudSuite Industrial 10.x with Mongoose forms

## Steps

### Pick and apply the right customization

**Items:**

- Need quick access to a form? Bookmark it from the web client so it appears in the user's own list.
- Need a different layout, labels or hidden fields for a user or group? Use personalization on the form, with no code.
- Need to reject or warn on bad input? Define a validator on the field.
- Need logic across fields, defaults, or a call to the server? Write a FormScript in the form editor.
- Build and test in a test or non-production tenant, never directly in production.
- Document each script (purpose, owner, events used) in a shared register.
- Promote through your normal process and retest after every upgrade.

## Sections

### FormScripts: what they are and when to use them

**Body:**

A FormScript is code attached to a form and run when form or component events fire, for example when the form loads, a value changes, or a button is pressed. Scripts can read and set field values and call IDO methods to fetch or save data. They are edited in the Mongoose form editor.

Use them for client-side behavior that cannot be configured: filling a field from another, showing a message before a risky action, or enabling a control based on a condition. Keep them small. If the logic needs to run regardless of which form calls it, move it to an IDO extension class or a stored procedure.

**Code:**

// Illustrative pseudocode only; use the object model your release documents
onValueChanged(Qty):
  if Qty > MaxQty then
    ShowMessage("Quantity exceeds the maximum")
    Qty = MaxQty

### Validators

**Body:**

Validators define checks on a field, such as a required lookup against another table, a pattern, or a range. They are generally better than a script for simple rules because they are declarative, reusable across forms and easier to audit.

Remember that a client-side validator protects only that form. If integrations or imports also write the field, enforce the rule in the IDO or database as well.

### Personalization and bookmarks

**Body:**

Personalization lets a user or admin change a form's appearance and behavior for themselves or a role: moving or hiding fields, changing labels, adding default filters. In 10.x it is the first thing to try before writing scripts, since it survives upgrades more easily.

Bookmarks are per-user shortcuts in the web client. They hold forms and, in many releases, a saved filter. They are not security: users can only open forms they are authorized for.

## Pitfalls

- Writing a FormScript for something personalization can do.
- Putting business rules only in the client, so imports and integrations bypass them.
- Editing forms in production without version control.
- Leaving scripts undocumented, which makes upgrades risky.
- Assuming a bookmark grants access to a form.

## Ai Angle

SyteRay can read your existing form metadata and scripts, explain what each one does, flag scripts affected by an upgrade, and draft a candidate script or validator for review. On-prem, your customizations stay local. Generated code is a draft that a developer tests in a non-production tenant.

## Faq

### What is a FormScript in SyteLine?

**Answer:** It is custom code attached to a Mongoose form that runs on form events. It can read and set values and call IDO methods. It is the right tool for form-specific behavior that configuration cannot achieve.

### What is the difference between a validator and a FormScript?

**Answer:** A validator checks one field against a rule declaratively. A FormScript is general code that can implement logic across fields or call the server. Use a validator when it can express the rule.

### How do I bookmark a form in SyteLine?

**Answer:** In the web client, use the bookmark or favorites control while the form is open, which adds it to your personal list. Exact wording depends on your release, and it only affects your own account.

### Does personalization survive upgrades?

**Answer:** Usually better than custom scripts, but you should still test after an upgrade. Form changes by Infor can affect personalized layouts, so keep a record of what you changed.

## Search terms

syteline formscript, syteline validators, syteline form script example, syteline 10 personalization, bookmark form syteline, mongoose form editor, csi form customization, syteline field validation

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
