{"id":19030035,"url":"https://github.com/padosoft/js-validator","last_synced_at":"2025-08-01T06:42:24.538Z","repository":{"id":40748436,"uuid":"343388113","full_name":"padosoft/js-validator","owner":"padosoft","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-07T05:45:33.000Z","size":827,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-02T03:44:22.343Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/padosoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-01T11:13:23.000Z","updated_at":"2021-11-12T00:07:19.000Z","dependencies_parsed_at":"2023-02-06T13:02:30.900Z","dependency_job_id":null,"html_url":"https://github.com/padosoft/js-validator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Fjs-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Fjs-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Fjs-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Fjs-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/padosoft","download_url":"https://codeload.github.com/padosoft/js-validator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240079638,"owners_count":19744725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T21:16:16.628Z","updated_at":"2025-02-21T20:15:13.107Z","avatar_url":"https://github.com/padosoft.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Padosoft Validator\n\nSi tratta di un pacchetto javascript per la validazione dei dati.\n\nPer installarlo:\n```javascript\nnpm i @padosoft/validator --save\n```\n\nPer utilizzarlo sono possibili i tre approcci commonJS, AMD, o con lo script:\n\nCommonJs\n\n```javascript\nconst Validator = require(\"@padosoft/validator\").Validator;\nconst isEmail = require(\"@padosoft/validator\").isEmail;\n```\n\nAMD\n\n```javascript\nimport { Validator, isEmail } from \"@padosoft/validator\";\n```\n\nPer l'uso da script è consigliabile copiare il file dalla cartella node_modules in una a scelta. Una volta incluso sarà presente un oggetto globale 'padosoftValidator' con il quale richiamare le funzioni.\n\n```javascript\n\u003cscript src=\"dist/padosoft-validator.js\"\u003e\u003c/script\u003e\n[...]\n\u003cscript\u003e\n    var validator = new padosoftValidator.Validator({\n      rules: {\n        recipient: {\n          required: false,\n          rule: (value) =\u003e {\n            return padosoftValidator.isEmail(value);\n          },\n        },\n      },\n      messages: {\n        recipient: \"L'email non è valida.\",\n      },\n    });\n    validator.validate({\n        recipient: \"cogito@ergo.eu\",\n      });\n    if(!validator.hasValidData()){\n        const errors = validator.getErrorsMessage();\n        console.log(\"Errori\", errors);\n    }\n\u003c/script\u003e\n```\n\n## Validator\n\nIl Validator è la classe con la quale si possono effettuare le validazioni.\nPer istanziarla si deve passare, come parametro, un oggetto con le regole e i messaggi d'errore.\n```javascript\n\n/*\n Questo è l'oggetto con le regole ed i messaggi d'errore. Le regole devono essere passate come oggetti con la proprietà required, che può avere valori true o false, e una funzione che verificherà la validità del dato. Come helpers ci sono delle funzioni che possono semplificare la validazione.\n Sia negli oggetti rulesm che nei messages, sono presenti proprietà che rappresentano il valore da vertificare. Il nome di quella proprietà è usato come riferimento ovunque: sia quando si passano i dati che quando si recuperano gli errori.\n*/\nconst rules = {\n  rules: {\n    numero: {\n      required: true,\n      rule: (value) =\u003e {\n        return isNumber(value);\n      },\n    },\n    recipient: {\n      required: false,\n      rule: (value) =\u003e {\n        return isEmail(value);\n      },\n    },\n  },\n  messages: {\n    numero: \"È obbligatorio e deve essere un numero.\",\n    recipient: \"L'email non è valida.\",\n  },\n};\n// Istanziazione dell'oggetto\nconst validator = new Validator(rules);\n// Passo i dati da validare alla funzione validate()\nvalidator.validate({\n    numero: 5,\n    recipient: \"cogito@ergo.eu\",\n  });\n// Verifico se i dati sono validi e se non lo sono recupero gli errori.\nif(!validator.hasValidData()){\n    const errors = validator.getErrorsMessage();\n    console.log(\"Errori\", errors);\n}\n\n```\n\n## Funzioni\n\n### ***isNumber(value)***\n\nVerifica che il valore sia  di tipo numerico.\n\n\n### ***isInteger(value)***\n\nVerifica che il valore sia di tipo intero.\n\n\n### ***isEmail(value)***\n\nVerifica che il valore sia un'email.\n\n\n### ***isFunction(value)***\n\nVerifica che il valore sia una funzione.\n\n\n### ***isBoolean(value)***\n\nVerifica che il valore sia un booleano.\n\n\n### ***isObject(value)***\n\nVerifica che il valore sia un oggetto.\n\n\n### ***isDate(value)***\n\nVerifica che il valore sia una oggetto di tipo Date.\n\n\n### ***isDefined(value)***\n\nVerifica che il valore sia definito, cioè non 'undefined'.\n\n\n### ***isString(value)***\n\nVerifica che il valore sia di tipo stringa.\n\n\n### ***isArray(value)***\n\nVerifica che il valore sia un array.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadosoft%2Fjs-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpadosoft%2Fjs-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadosoft%2Fjs-validator/lists"}