Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 1.61 KB

DurationInRangeValidator.md

File metadata and controls

67 lines (48 loc) · 1.61 KB

DurationInRangeValidator

The DurationInRangeValidator checks input for an ISO-8601 duration format that it is within min and max values.

Usage

This validator can be used on any slot or entity that takes ISO-8601 duration format input.

Examples:

  • Alexa: AMAZON.DURATION (ex: SCHEDULED_RELATIVE Reminders)

The constructor takes in values for minDuration and maxDuration with these default values:

  • minDuration: 'PT1H'
  • maxDuration: 'P30D'

Examples

//TypeScript
import { DurationInRangeValidator } from "jovo-community-validators";

async MyIntent() {
    // input: this.$inputs.duration

    const schema = {
        duration: [
            new DurationInRangeValidator(), // default values
            // new DurationInRangeValidator('PT1H', 'PT8H'), // 1 to 8 hours
        ],
    };

    const validation = this.validate(schema);

    // validation fail
    if (validation.failed('duration', 'DurationInRangeValidator')) {
        //return this.ask...
    }

    // validation success
}
//JavaScript
const { DurationInRangeValidator } = require('jovo-community-validators');

async MyIntent() {
    // input: this.$inputs.duration

    const schema = {
        duration: [
            new DurationInRangeValidator(), // default values
            // new DurationInRangeValidator('PT1H', 'PT8H'), // 1 to 8 hours
        ],
    };

    const validation = this.validate(schema);

    // validation fail
    if (validation.failed('duration', 'DurationInRangeValidator')) {
        //return this.ask...
    }

    // validation success
}