Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/utils / lib / metadata / checkFieldValidation.js
Size: Mime:
/**
 * Check is metadata field value valid
 * @param {(string|number|array)} value
 * @param {regexp} [validation]
 * @param {boolean} [required]
 * @returns {(boolean|string)} - If TRUE field is valid, if FALSE or message field is not valid.
 * @param {boolean} [canEdit=true]
 */
function checkFieldValidation(value, validation, required) {
  var canEdit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
  if (required && canEdit && !value && !(value || []).length) {
    return 'Field is required!';
  }

  /**
   * When field is required but current user can't edit the field, we have to set that current value is valid to unlock other fields save.
   */
  if (required && !canEdit) {
    return true;
  }
  if (!validation) {
    // If no validation rules return TRUE (field valid)
    return true;
  }
  if (typeof validation !== 'string') {
    console.warn('Metadata field validation: support string only!', {
      value: value,
      validation: validation
    });
    return true;
  }
  return new RegExp(validation).test(value) ? true : "String \"".concat(value, "\" not match regexp ").concat(validation);
}
export default checkFieldValidation;