Files
vivespos-landing/modules/system/assets/ui/js/inspector.validator.length.js
avives 1f72193a64
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
- Base: wintercms/winter branch 1.2 (full framework)
- Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS
- Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication
- Partials: hero (offline-first), features, modes (offline/nube toggle),
  screenshots, pricing (3 planes), comparison, FAQ, CTA
- Plugin VivesPOS.Site with ContactForm
- Dockerfile: PHP 8.2 Apache, port 80, healthcheck
- Added winter/wn-pages, blog, sitemap, seo plugins
- Active theme set to vivespos
2026-08-21 19:29:00 -06:00

72 lines
2.3 KiB
JavaScript

/*
* Inspector length validator.
*/
+function ($) { "use strict";
var Base = $.wn.inspector.validators.base,
BaseProto = Base.prototype
var LengthValidator = function(options) {
Base.call(this, options)
}
LengthValidator.prototype = Object.create(BaseProto)
LengthValidator.prototype.constructor = Base
LengthValidator.prototype.isValid = function(value) {
if (value === undefined || value === null) {
return null
}
if (typeof value == 'boolean') {
this.throwError('The Length Inspector validator cannot work with Boolean values.')
}
var length = null
if(Object.prototype.toString.call(value) === '[object Array]' || typeof value === 'string') {
length = value.length
}
else if (typeof value === 'object') {
length = this.getObjectLength(value)
}
if (this.options.min !== undefined || this.options.max !== undefined) {
if (this.options.min !== undefined) {
if (this.options.min.value === undefined) {
throw new Error('The min.value parameter is not defined in the Length Inspector validator configuration.')
}
if (length < this.options.min.value) {
return this.options.min.message !== undefined ?
this.options.min.message :
"The value should not be shorter than " + this.options.min.value
}
}
if (this.options.max !== undefined) {
if (this.options.max.value === undefined)
throw new Error('The max.value parameter is not defined in the Length Inspector validator configuration.')
if (length > this.options.max.value) {
return this.options.max.message !== undefined ?
this.options.max.message :
"The value should not be longer than " + this.options.max.value
}
}
}
}
LengthValidator.prototype.getObjectLength = function(value) {
var result = 0
for (var key in value) {
result++
}
return result
}
$.wn.inspector.validators.length = LengthValidator
}(window.jQuery);