Section » field

field(name) → value or null
field(name, options) → object/value or null
field(name, loader) → value or null
field(name, loader, options) → object/value or null

Retrieve a field's value from the section, optionally supplying a loader to validate and/or transform the value, and/or an options object.

enocolor: blue
javascriptsection.field('color');   // returns 'blue'
section.field('sound');   // returns null

section.field('sound', { required: true });   // throws an error
section.field('sound', { enforceElement: true });   // returns null
section.field('texture', { enforceElement: true });   // throws an error

section.field('color', ({ value }) => value.toUpperCase());   // returns 'BLUE'

section.field('color', ({ value }) => {   // throws an error
  if(value !== 'green') {
    throw 'Only green is allowed!';
  return value;

section.field('color', { withElement: true });
  // returns { element: [object Field name="blue" value="blue"], value: 'blue' }



A string representing the name of the field to return.


A function returning the transformed/validated value or throwing an error.



Whether the field must be present in the document (true or false, defaults to false)


Whether there must be a value or the field is allowed to be empty (defaults to false)


Alias for enforceValue (this exists on many methods and depending on context refers to either element or value)


Whether to return an object of the form { element: ..., value: ... } instead of just the value (default false)

Return value

The value of the field, or null if empty, or an array of the form { element: ..., value: ... } when the option withElement is specified.