Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This class provides methods to configure for forms configurations. These methods can only be used on the client side.

You can also use these methods to configure the dependencies between the fields and the values. For , for example, changing the values of the fields or clearing the fields. 

SimpleForm(table, sys_id)


This method instantiates Use this constructor to instantiate a new SimpleForm object.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
tableStringYN
sys_idStringYN

Return:

TypeDescription
ObjectThis method returns a form object.

Example:

Code Block
languagejs
themeEclipse
titleSimpleForm()
linenumberstrue
window.s_widget_custom.submit = async function () {
  await s_widget.serverUpdate();
  const tableName = s_widget.getFieldValue('table_name');
  const recordId = s_widget.getFieldValue('record_id');

  const builtInForm = new SimpleForm(tableName, recordId);
  
  await builtInForm.save().then(s_form.save());
  s_modal.setShow(false);
  s_go.reloadWindow();
}

Global variable usage

Within any record form, you can use predefined global variables.

modalForm()


Use this object of the SimpleForm class to interact with the modal window of the opened record from the client script of the form. The form is available by using the <Form> tag in the modal window widget.

Access the object using s_form.modalForm.

Returns:

TypeDescription
ObjectThis method returns the form object.

Example:

Code Block
languagejs
themeEclipse
titlemodalForm
linenumberstrue
s_form.modalForm.setValue('state', '2')

Global variable usage


Within any record form, you can use predefined global variables.

Variable

Description

Variable

Description

currentFieldLabel

Defines a link to a Wrapper object for a field. The variable is used with the getColumnId() method.
For See the example,: 

Code Block
window.currentFieldLabel.getColumnId()
.

One of the usage cases of this variable is the field context menu call. 

Image Modified

currentUiAction

Contains an object with an ID of the UI action recordan object with an ID of the UI action record. It is used when the context menu is called.One of the usage cases is receiving information about UI actions when calling the context menu.

Image Modified

s_form.addErrorMessage(message)


This Use this method displays to display an error toast message in the bottom lower right corner.

Parameter(s):

NameTypeMandatoryDefault
Value
value
messageStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleaddErrorMessage()
linenumberstrue
s_form.addErrorMessage('Please enter a valid email address using the following format: joe@example.com');

s_form.addInfoMessage(message, durationMilliseconds)


This Use this method displays to display an informational toast message in the bottom lower right corner. The message disappears after a certain period of time. In the second durationMilliseconds parameter, specify this period in milliseconds.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
messageStringYN
durationMillisecondsNumberNN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleaddInfoMessage()
linenumberstrue
s_form.addInfoMessage('Link copied to clipboard', 2000);

s_form.addSuccessMessage(message, durationMilliseconds)


This Use this method displays to display a message about a successul action in the bottom lower right corner. The message disappears after a certain period of time. Specify this period  in in milliseconds in the second durationMilliseconds parameter.

Parameter(s):

NameTypeMandatoryDefault
Value
value
messageStringYN
durationMillisecondsNumberNN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleaddSuccessMessage()
linenumberstrue
s_form.addSuccessMessage('Record was successfully added!', 3000);

s_form.addWarningMessage(message, durationMilliseconds)


This Use this method displays to display a warning message in the bottom lower right corner. The message disappears after a certain period of time. Specify this period  in in milliseconds in the second durationMilliseconds parameter.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
messageStringYN
durationMillisecondsNumber N N

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleaddWarningMessage()
linenumberstrue
s_form.addWarningMessage('This record has been modified by another user', 3000);

s_form.addOption(fieldName, choiceValue)


This Use this method adds to add a choice option to the end of the choice list field if an option with a passed choiceValue field. A user can add a choiceValue values defined for fieldName for into the current set of the table options set.

Note

Note that this This method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
choiceValueStringYN

Return:

TypeDescription
Promise
ObjectThis method returns a Promise object.

Example:

Code Block
languagejs
themeEclipse
titleaddOption()
linenumberstrue
const stateschoices = ['-110', '020', '2', '530'];

s_form.clearOptions('statecontact_type');
states.forEach(async (stateValue) => {
for (const optionValue of choices) {
    await s_form.addOption('statecontact_type', stateValueoptionValue);
})

s_form.clearMessages()


Use this method to close all kinds of messages (both informational and error) in the form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleclearMessages()
linenumberstrue
s_i18n.getMessage('End date time cannot be less than start date time', (response) => {
  s_form.clearMessages();
  s_form.addErrorMessage(response);
});
return false; // abort form submit
s_form.clearOptions

s_form.clearOptions(fieldName)


Use this method to remove all options from the choice list.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleclearOptions()
linenumberstrue
const choices = [
  "Phone",
  "Email",
  "Self-service"
];
'10', '20', '30'];
s_form.clearOptions('contact_type');
choices.forEach(async (choiceValue) =>for (const optionValue of choices) {
    await s_form.addOption('contact_type', choiceValueoptionValue);
});

s_form.clearValue(fieldName) 
Anchor
s_form.clearValue
s_form.clearValue


Use this method to clear out any field, i.e., that is delete its value.It returns false if it is unable

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
Boolean

This method returns false if it is unable to clear the value of the field in the following cases:

  • if the column_type is either
Boolean
'
  • sys_id
'
  • .
  • if the column_type is Choice and it does not have a default value.
If

Otherwise, the method

returns true, then the field will be cleared.

returns true.

Example:

Code Block
languagejs
themeEclipse
titleclearValue()
linenumberstrue
if (!

Parameter(s):

NameTypeMandatoryDefault ValuefieldNameStringYN

Return:

TypeDescriptionBooleanThis method returns a boolean value (true or false) in the cases described above.

Example:

Code Block
languagejs
themeEclipse
titleclearValue
linenumberstrue
if (!s_form.getValue('sprint')) {
  s_form.clearValue('points');
}

s_form.isFieldChanged(fieldName)


Use this method to verify if whether the specified field has been changed or not.

Info

If there is a client script changing the specified field is running on the specified form and changing it, this method returns true.   Both a user and a script can initiate the changes.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
Boolean

This method returns true if the specified field has been changed; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titles_form.isFieldChanged
linenumberstrue
if (s_form.isFieldChanged('state') && s_form.getValue('state') != 'new') {
  return false; // abort form submit
}

s_form.formId


This Use this class property returns to return the current form ID for the current user. The form view ID is an ID of the record in the UI Forms (sys_ui_form)  dictionarytable.

Return:

Type

Description

StringThis method returns the record form view ID (the record ID of the record form view in the the UI Forms (sys_ui_form)  dictionary)table.

Example:

Code Block
languagejs
themeEclipse
titleformId
linenumberstrue
const url = new URL(`${API_BASE_URL}/export/excel`);
if (typeof s_form !== "undefined") {
  url.searchParams.set('form_id', s_form.formId);
}
window.open(url, "_blank");

s_form.

getChanges

getAllFields()


This Use this method is used to retrieve information about the changed fields: field name, previous value, current value.

Info

If there is a client script running on this form and changing it, the getChanges() method must include such fields in the array. Both a user and a script can initiate the changes.

to get a list of fields with their values placed on the form.

The return value contains two keys:

  • thedata key is an object, where the keys are the system field names, and the values are the values of those fields.
  • the error key is an array with error messages if the form is saved in the current state.

Parameter:

NameTypeMandatoryDefault value
isAll BooleanN false

Return:

Type

Description

Object

When the isAll parameter is set to false, this method returns the info about the fields, where the values have been changed.

When the value is set to true, the method returns the information about the fields on the form from all the sections, including the ones hidden by client scripts.

On the new record form, the method returns a list of all form fields regardless of the isAll value.

Example:

Code Block
titlegetAllFields()
linenumberstrue
if (!s_form.getAllFields(true).data.hasOwnProperty('state')) return;

s_form.getChanges()


Use this method to retrieve information about the changed fields: field name, previous value, current value.

Info

If there is a client script changing some fields is running on this form, the getChanges() method includes such fields in the array. Both a user and a script can initiate the changes.

Return:

TypeDescription
Array of Objects

This method returns an array of objects with the fields changes. Each object contains a field name, its previous and current values.

Example:
Code Block
languagejs
themeEclipse
titles_form.getChanges
linenumberstrue
if (s_form.isChanged()) {
  const changedFields = s_form.getChanges();
  let payload = {};
  changedFields.forEach((field) => {
    payload[field.fieldName] = field.currentValue;
  });
  SimpleStorage.setItem('payload', payload);
}

s_form.getLabelOf(fieldName)


Use this method to return a label text value.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
ArrayStringThis method returns an array of objects with field changes. An object a string that contains a displayed field name, previous value and current value.

Example:

Code Block
languagejs
themeEclipse
titles_form.getChangesgetLabelOf
linenumberstrue
if (s_form.isChanged()) {
  const changedFields = s_form.getChanges();
  let payload = {};
  changedFields.forEach((field) => {
    payload[field.fieldName] = field.currentValue;
  });
  SimpleStorage.setItem('payload', payload);
}const FIELD_LABEL = s_form.getLabelOf('username');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.

getLabelOf

getREMDisplayValue(fieldName)


The Use this method returns a label text to get a displayable REM attribute value.

Find the values represented in the client scripts according to the field types in the table.

ParameterParameter(s):

Name

Type

Mandatory

Default

Value

value

fieldNameStringYN

Return:

Type

Description

StringThis method returns a
string containing an attribute label value
value of the displayable attribute.

Example:

Code Block
languagejs
themeEclipsetitlegetLabelOf
linenumberstitletruegetREMDisplayValue
const FIELD_LABEL = s_form.getLabelOf('username');
s_form.addErrorMessage(`Field`Service "${FIELD_LABELs_form.getREMDisplayValue('service')}" containsis invalidnot characters.`available`);

s_form.

getREMDisplayValue

getREMLabelOf(fieldName)


This method gets a displayable REM attribute valueUse this method to get a label text value of a REM attribute.

Parameter(s):

Name

Type

Mandatory

Default Valuevalue

fieldNameStringYN

Return:

Type

Description

StringThis method returns a string that contains an attribute displayable label value.

Example:

Code Block
languagejs
themeEclipse
titlegetREMDisplayValuegetREMLabelOf
linenumberstrue
const FIELD_LABEL = s_form.getREMLabelOf('phone');
s_form.addErrorMessage(`Service`Field "${s_form.getREMDisplayValue('service')FIELD_LABEL}" iscontains notinvalid available`characters.`);

s_form.

getREMLabelOf

getREMValue(fieldName)


This Use this method gets a label text value of a REM attribute.to get a REM attribute value.

Find the values represented in the client scripts according to the field types in the table.

ParameterParameter(s):

Name

Type

Mandatory

Default Valuevalue

fieldNameStringYN

Return:

Type

Description

StringThis method returns a string containing an attribute label valuethe database value of the specified field.

Example:

Code Block
languagejs
themeEclipse
titlegetREMLabelOfgetREMValue
linenumberstrue
constif FIELD_LABEL =(s_form.getREMValue('model')) {
  s_form.getREMLabelOfhideFieldMsg('phonemodel');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.

getREMValue

getSections(

fieldName

)

This method gets a REM attribute value.

Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN

Use this method to get an array of sections.

Return:

String the database value of the specified field
TypeDescription
Array of HTML elementsThis method returns an array that conatains sections of a form.

Example:

Code Block
languagejs
themeEclipse
titlegetREMValuegetSections()
linenumberstrue
ifconst sectionNames = (s_form.getREMValuegetSections('model'))).map(section => section.name);
if (sectionNames.length) {
    s_form.hideFieldMsg('model');
}

s_form.getSections()

Use this method to get an array of sections.

Return:

TypeDescriptionArray of HTML elementsThe form sections.
.addInfoMessage(`You can move between ${sectionNames.join(', ')}` sections);
}

s_form.getSectionNames()


Use this method return an array , which that contains the names of all sections, visible and hidden.

Return:

TypeDescription
Array of
strings
StringsThis method returns an array
containing section names.
that contains section names.

Example:

Code Block
languagejs
themeEclipse
titlegetSectionNames()
linenumberstrue
const sectionNames = s_form.getSectionNames()
if (sectionNames.length) {
    s_form.addInfoMessage(`You can move between ${sectionNames.join(', ')}` sections);
}

s_form.getTableName()


This Use this method returns to return a table name that the specified record relates to.

Note

The method returns the system table name, not the table title. Example:

Table name itsm_incident
Table title Incidents


Return:

TypeDescription
StringSystem This method returns the system table name.

Example:

Code Block
languagejs
themeEclipse
titlegetTableName
linenumberstrue
const TABLE_NAME = s_form.getTableName();
console.log(TABLE_NAME);

s_form.getUniqueValue()


This Use this method returns to return a unique record ID (sys_id).

Return:

TypeDescription
StringThis method returns the record ID; otherwise, it returns
NULL
null.

Example:

Code Block
languagejs
themeEclipse
titlegetUniqueValue
linenumberstrue
const TABLE_NAME = s_form.getTableName();
const RECORD_ID = s_form.getUniqueValue();
const currentRecord = new SimpleRecord(TABLE_NAME);
currentRecord.get(RECORD_ID, ()=> {
  if (currentRecord.sys_id === RECORD_ID) {
    s_form.addInfoMessage(currentRecord.sys_created_at);
  }
});

s_form.getValue(fieldName)


This Use this method returns to return the database value of the specified field .

Find the values represented in the client scripts according to the field types in the table.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
String

This method returns the database value of the specified field.

Example:

Code Block
languagejs
themeEclipse
titlegetValue
linenumberstrue
const callerId = s_form.getValue('caller_id');
if (!callerId) {
  const callerRecord = new SimpleRecord('employee');
  callerRecord.get(callerId, ()=> {
    if (callerRecord.sys_id &&
      callerRecord.personal_schedule) {
      await s_form.setValue('schedule', callerRecord.personal_schedule);
    } else {
      s_form.addInfoMessage('Users schedule is not defined');
    }
  });
}

s_form.getDisplayValue(fieldName)


This Use this method returns to return the displayed value of the field.

Find the values represented in the client scripts according to the field types in the table.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
String
The
This method returns the displayed value of the specified field.

Example:

Code Block
languagejs
themeEclipse
titlegetDisplayValue
linenumberstrue
s_form.addInfoMessage(`Service "${s_form.getDisplayValue('service')}" is not available`);

s_form.goBack()


Use this method to perform a redirection to the previous page. If it is not possible, the redirection leads to the list view of the current instance, for example, to a list of incidents from an incident record.

Return:

Type

Description

VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlegoBack
linenumberstrue
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.isChanged()


Use this method to get information whether a record form has been changed.

Return:

Type

Description

BooleanThe method returns true if any changes have been made on the record form; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titleisChanged
linenumberstrue
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.hideFieldMsg(fieldName)

This method, unlike the 

s_form.

showFieldMsg

hideFieldMsg(fieldName)


Use this method to hide ) method, hides informational or error messages in the specified form field.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlehideFieldMsg
linenumberstrue
if (s_form.getValue('state')) {
  s_form.hideFieldMsg('state');
}

s_form.hideRelatedLists()


Use this method to hide all related lists on the form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlehideRelatedList
linenumberstrue
if (s_form.getValue('type') == 'internal') {
  s_form.hideRelatedLists();
}

s_form.isMandatory(fieldName)


Use this method to check if the specified field is mandatory.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
BooleanThis method returns true if the field is mandatory; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titles_form.isMandatory
linenumberstrue
if (s_form.isMandatory('state') && !s_form.getValue('state')) {
  s_form.addInfoMessage('State cannot be None');
}

s_form.hideRelatedList(relListTitle)


Use this method to specify a related list you need to hide.

Parameter(s):

NameTypeMandatoryDefault
Value
value
relListTitleStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlehideRelatedList
linenumberstrue
if (s_form.getValue('type') == 'external') {
  s_form.hideRelatedList('Customer');
}

s_form.isNewRecord()


If the record has never been saved, this method returns true; otherwise, it returns falseUse this method to find out if the record is new.

Return:

TypeDescription
BooleanIf the record has never been saved, this method returns true; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titleisNewRecord
linenumberstrue
if (s_form.isNewRecord()) {
  await s_form.setValue('state', 'new');
  s_form.setReadOnly('state', true);
}

s_form.isReadonly(fieldName)


Use this method to check if verify whether a user can edit the specified field via the interface or the field is editable or read-only.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN

Return:

TypeDescription
BooleanThis method returns true if the field is read-only; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titles_from.isReadonly
linenumberstrue
if (!s_form.isReadonly('state')) {
  await s_form.setValue('state', 'new');
}

s_form.isSectionVisible(sectionName)


This Use this method defines to define if a specified section is visible or not.

Parameter(s):

NameTypeMandatoryDefault
Value
value
sectionNamestringYN

Return:

TypeDescription
BooleanThis method returns true if the section is visible; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titlegetSectionNames
linenumberstrue
if (s_form.isSectionVisible('Instructions')) {
  s_form.addInfoMessage('Check out the "Instructions" section', 5000);
}

s_form.isValid()


Use this method to check if the specified form is valid or not.

Return:

TypeDescription
BooleanThis method returns true if the form is valid; otherwise, returns false.


Note

It makes sense to use this method if the form contains the fields of the Date , Date/Time and Date/ Time Specific typescolumns, as the method does not support validation checks for the fields of other types.

Example:

Code Block
languagejs
themeEclipse
titles_form.isValid
linenumberstrue
if (!s_form.isValid()) {
  s_form.addErrorMessage('This form is invalid');
}

s_form.isVisible(fieldName)


Use this method to check if the specified field is visible or not.

Parameter(s):

NameTypeMandatoryDefault Valuevalue
fieldNameStringYN

Return:

TypeDescription
BooleanThe method returns true if the field is visible; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titles_form.isVisible
linenumberstrue
if (s_form.isVisible('state')) {
  s_form.setSectionDisplay('Controls', true);
}

s_form.refreshUiActions()


This method reloads all Use this method to reload all UI actions  on the form and recalculates the server condition reverifies conditions to display a button that are defined for these UI actions without refreshing the page.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titles_form.refreshUiActions()
linenumberstrue
const stateValue = s_form.getValue('state');
if (stateValue == 'in-progress') {
    s_form.refreshUiActions();
}

s_form.removeOption(fieldName, choiceValue)


Use this method to specify and delete an option from the choice list.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
choiceValueStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleremoveOption
linenumberstrue
const serviceId = s_form.getValue('service');
if (serviceId) {
  const service = new SimpleRecord('sys_cmdb_ci_service');
  service.get(serviceId, ()=> {
    if (service.business_criticality > '1') {
      s_form.removeOption('impact', 'low');
      s_form.removeOption('urgency', 'low');
    }
  });
}

s_form.save()


This Use this method saves to save a record without leaving its form.

Return:

TypeDescription
StringThis method returns the ID of the saved record.

Example:

Code Block
languagejs
themeEclipse
titlesave()
linenumberstrue
const sysId = await s_form.save().finally(__resolveServerResponse);
await s_user.setPreference(preferenceApplicationName, packApplicationId);
await s_user.setPreference(preferenceLocalPackName, sysId);
await s_pref.refresh();

s_form.setLabelOf(fieldName, value)


This Use this method sets to set a text value of the field label.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
valueStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetLabelOf
linenumberstrue
if (s_form.getTableName() == "employee") {  
  s_form.setLabelOf("email", "Personal Email");
  s_form.setLabelOf("manager.email", "Manager's Email");
} else {
  s_form.setLabelOf("email", "Email");
}

s_form.setMandatory(fieldName, mandatory)


Use this method to change a specified field to a mandatory field, i.e., it that is it cannot be null.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
mandatoryBoolean
Y
N
N
true

Return:

TypeDescription
Boolean

This method returns true if its execution has been successful

; otherwise, it returns false

.

This method

It returns false in the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.

Example:

Code Block
languagejs
themeEclipse
titlesetMandatory
linenumberstrue
const scriptType = s_form.getValue('type');
const mandatoryColumn = ['onChange', 'onCellEdit'].includes(scriptType);
s_form.setVisible('column_id', mandatoryColumn);
s_form.setMandatory('column_id', mandatoryColumn);

s_form.setReadOnly(fieldName, readOnly)


Use this method to change a specified field to read-only or editable.

Parameter(s):

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
readOnlyBoolean
Y
N
N
true

Return:

TypeDescription
Boolean

This method returns true if its execution has been successful

; otherwise, it returns false

.

This method

It returns false in the following cases:

  • If a field is read-only, it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method .
  • If editing a field is prohibited with ACL.
  • If a mandatory field is empty and read-only.

Example:

Code Block
languagejs
themeEclipse
titlesetReadOnly
linenumberstrue
if (s_form.getValue('any_tables')){
  s_form.setMandatory('table_id', false);
  s_form.setReadOnly('table_id', true);
  s_form.setVisible('table_id', false);
}

s_form.setREMLabelOf(fieldName, value)


This message sets Use this method to set a plain text value of a REM attribute label.

Parameter(s):

Name

Type

Mandatory

Default Valuevalue

fieldNameStringYN
valueStringYN

Return:

Type

Description

StringThis method
does not return a
returns the set value.

Example:

Code Block
languagejs
themeEclipse
titlesetREMLabelOf
linenumberstrue
if (s_form.getTableName() == 'user') {
  s_form.setREMLabelOf('email', 'Email');
} else {
  s_form.setREMLabelOf('email', 'Personal Email');
}

s_form.setREMMandatory(fieldName, mandatory)


Use this method to make a field specified by a REM attribute mandatory.

Parameter(s)Parameters:

Name

Type

Mandatory

Default

Value

value

fieldNameStringYN
mandatoryBooleanYtrue

Return:

Type

Description

Boolean

This method returns true if its execution has been successful

; otherwise, it returns false

.

This method

It returns falsein the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.

Example:

Code Block
languagejs
themeEclipse
titlesetREMMandatory
linenumberstrue
const isDeliveryFilled = !!s_form.getValue('delivery');
s_form.setREMMandatory('phone', isDeliveryFilled);

s_form.setREMReadOnly(fieldName, readOnly)


Use this method to make a field specified by a REM attribute read-only.

Parameter(s):

Name

Type

Mandatory

Default

Value

value

fieldNameStringYN
readOnlyBooleanYtrue

Return:

Type

Description

Boolean

This method returns true if its execution has been successful

; otherwise, it returns false

.

This method

It returns false in the following cases:

  • If a mandatory field is empty and set to read-only.
  • If a field is read-only,
it
  • it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method.

Example:

Code Block
languagejs
themeEclipse
titlesetREMReadOnly
linenumberstrue
if (s_form.isNewRecord()) {
  s_form.setREMValue('state', 'new');
  s_form.setREMReadOnly('state', true);
}

s_form.setREMValue(fieldName, databaseValue)


With Use this method you can to set a value of the REM attribute label.

Note

Note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameter(s)Parameters:

Name

Type

Mandatory

Default Valuevalue

fieldNameStringYN
databaseValueObjectAnyYN

Return:

Type

Description

VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetREMValue
linenumberstrue
await s_form.setREMValue('state', 'new');
s_form.save();

s_form.setREMVisible(fieldName, display)


Use this method to define visibility of the field specified by a REM attribute.

Parameter(s)Parameters:

Name

Type

Mandatory

Default

Value

value

fieldNameStringYN
displayBooleanYN

Return:

Type

Description

VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetREMVisible
s_form.setREMVisible('additional_info', !s_form.isNewRecord());

s_form.setSectionDisplay(sectionName, display)


Use this method to specify the section you want need to hidedisplay.

Parameter(s):

NameTypeMandatoryDefault
Value
value
sectionNameStringYN
displayBooleanYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetSectionDisplay
linenumberstrue
if (s_form.getValue('state') == '7') { // Completed
  s_form.setSectionDisplay('Closure Information', true);
  s_form.setMandatory('closure_code', true);
  s_form.setMandatory('closure_notes', true);
} else {
  s_form.setMandatory('closure_code', false);
  s_form.setMandatory('closure_notes', false);
  s_form.setSectionDisplay('Closure Information', false);
}

s_form.setValue(fieldName, databaseValue)


This Use this method sets to set a field value. 

Note

Use s_form.clearValue() method for field clearing instead to clear the field instead of setting an empty string value.

Note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
databaseValueStringYN

Return:

TypeDescription
Void
ObjectThis method returns a Promise object.

Example:

Code Block
languagejs
themeEclipse
titlesetValue
linenumberstrue
await s_form.setValue('state', '7'); // Completed
await s_form.setValue('closure_notes', articleBodies.join('\n'));
await s_form.setValue('closure_code', '1'); // Solved 1st Level
s_form.save()
  .then(() => {
    s_i18n.getMessage(`The typical solution is applied`, (e) => {
      s_form.addInfoMessage(e);
    })
  });

s_form.setVisible(fieldName, display)


Use this method to manage displaying of the display of the fields that have been added to the form through the Form Layout. You can hide or show the fields. The hidden field state is similar to being removed from the form view.

Note

Hiding a field for which the mandatory attribute is set on a column level (including the mandatory override described in the Column OverridingOverride article) leads to the validation errors after the form is saved or submitted from the client-side.

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
displayBooleanYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetVisible
linenumberstrue
if (!s_form.isNewRecord()) {
  s_form.setVisible('subject', true);
  s_form.setVisible('reason', false);
}

s_form.showFieldMsg(fieldName, message, type) 
Anchor
fieldmsg
fieldmsg


Use this method to display a message containing 'info', 'error', or 'warning' value informantional and warning messages, and messages containing error description under the specified form field. 

Parameter(s)Parameters:

NameTypeMandatoryDefault
Value
value
fieldNameStringYN
messageStringYN
typeString Y N

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleshowFieldMsg
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'info');


Code Block
languagejs
themeEclipse
titleshowFieldMsg
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'warning');


Code Block
languagejs
themeEclipse
titleshowFieldMsg
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'error');

s_form.showRelatedLists()


Use this method to display all the lists related to the form.

Return:

TypeDescription
VoidThis method does not
return a value.
return a value.

Example:

Code Block
languagejs
themeEclipse
titleshowRelatedLists()
linenumberstrue
s_form.showRelatedLists();

s_form.showRelatedList(listTitle)


Use this method to display a specified lists list related to the form.

Parameter(s):

NameTypeMandatoryDefault
Value
value

listTitle

StringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleshowRelatedList
linenumberstrue
s_form.showRelatedList('UI Action');

s_form.submit()


With Use this method you can submitting to submit a record form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesubmit()
linenumberstrue
s_form.submit();

Deprecated methods


This subsection contains methods that are not recommended to use in application design. They are deprecated as the platform evolves; new methods are developed instead of each of them.

s_form.fieldHasChanges(fieldName)


Use this method to check if This method checks whether the specified field has been changed or not.

Warning

This method is deprecated and not recommended to use. Use the s_form.isFieldChanged(fieldName) method instead.


Info

If there is a client script running on the specified form and changing itchanging a scpecified fieldon the form is running, the s_form. fieldHasChanges(fieldname) method returns true. Both a user and a script can make changes to the form.

Parameter(s):

Name

Type

Mandatory

Default

Value

value

fieldNameStringYN

Return:

Type

Description

Boolean

This method returns true if the specified field has been changed; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titlefieldHasChanges
linenumberstrue
console.log(s_form.fieldHasChanges('state'));

s_form.hasChanges()


Use this method to get This method gets t information whether a record form has been changed or not.

Warning

This method is deprecated and not recommended to use. Use the s_form.isChanged() method instead.

Return:

Type

Description

BooleanThe method returns true if any changes were made on the record form; otherwise, it returns false.

Example:

Code Block
languagejs
themeEclipse
titlehasChanges
linenumberstrue
if (s_form.hasChanges()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}


Table of Contents
absoluteUrltrue