/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { validatePresence, validateLength } from 'ember-changeset-validations/validators'; import validateSometimes from 'consul-ui/validations/sometimes'; export default { '*': [ validateSometimes(validatePresence(true), function () { const action = this.get('Action') || ''; const permissions = this.get('Permissions') || []; if (action === '' && permissions.length === 0) { return true; } return false; }), ], SourceName: [validatePresence(true), validateLength({ min: 1 })], DestinationName: [validatePresence(true), validateLength({ min: 1 })], Permissions: [ validateSometimes(validateLength({ min: 1 }), function (changes, content) { return !this.get('Action'); }), ], };