{"_id":"ng-bootstrap-form-validation","_rev":"64-9ca7d9e93d81febe14082af654b3b675","name":"ng-bootstrap-form-validation","dist-tags":{"latest":"9.0.1","next":"9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079"},"versions":{"0.0.0":{"name":"ng-bootstrap-form-validation","version":"0.0.0","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","clean":"rimraf ./dist"},"private":false,"dependencies":{"@angular/common":"^2.4.0","@angular/compiler":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0","@angular/http":"^2.4.0","@angular/platform-browser":"^2.4.0","@angular/platform-browser-dynamic":"^2.4.0","@angular/router":"^3.4.0","bootstrap-sass":"^3.3.7","core-js":"^2.4.1","rxjs":"^5.1.0","zone.js":"^0.7.6"},"devDependencies":{"@angular/cli":"1.0.0-rc.1","@angular/compiler-cli":"^2.4.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","karma-coverage-istanbul-reporter":"^0.2.0","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.4.2","typescript":"~2.0.0"},"gitHead":"08b0f7c5286f8bcda0449e0275da6ea5e09e63c2","_id":"ng-bootstrap-form-validation@0.0.0","_shasum":"f9413d20e358ce68066d22945830fbb6141dc41f","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"f9413d20e358ce68066d22945830fbb6141dc41f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.0.tgz","integrity":"sha512-iRT6EvgK9u1SITkCqdJBPT+fYWEe84PpR6EAugopM34LDk5onGBf9xzwbULcXtZ5LxcrGjWu+bB4NcJNFpyqqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6RfwbuE0LO4Erj+sfn0WGoPEtcOPtWqSIdKwBJ46I2AIgWQUfzN+0KpQ3nrOaPzt+uwZGHfESrP5TLAnXFwiumVw="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.0.tgz_1491191827124_0.9972526368219405"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.1":{"name":"ng-bootstrap-form-validation","version":"0.0.1","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","clean":"rimraf ./dist"},"private":false,"dependencies":{},"peerDependencies":{"@angular/common":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0"},"devDependencies":{"@angular/cli":"1.0.0-rc.1","@angular/compiler-cli":"^2.4.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","karma-coverage-istanbul-reporter":"^0.2.0","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.4.2","typescript":"~2.0.0"},"gitHead":"97d85b3b79a339618136183604118b477995ad1a","_id":"ng-bootstrap-form-validation@0.0.1","_shasum":"d28e6dce5ad74c6ba0b943746c5c85c91ca2cc1a","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"d28e6dce5ad74c6ba0b943746c5c85c91ca2cc1a","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.1.tgz","integrity":"sha512-9Q0WSn5z94J9bfg6g7E1CnvUVaWrKLFfJBCQizYhbozYaFG0Za1IGvTWKYmTaZeHyPv1sSCMJP64RDoRfnbVOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENfQNu15KwLT9XYokkJw2wLRUTmROgrZXoSj99qCTuoAiEAv8QFPZOpiM+gD+JHQePbif7geBiI0bmpVnKlHdfr7pk="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.1.tgz_1491195862225_0.4595228072721511"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.2":{"name":"ng-bootstrap-form-validation","version":"0.0.2","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","clean":"rimraf ./dist"},"repository":{"type":"mit","url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"private":false,"dependencies":{},"peerDependencies":{"@angular/common":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0"},"devDependencies":{"@angular/cli":"1.0.0-rc.1","@angular/compiler-cli":"^2.4.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","karma-coverage-istanbul-reporter":"^0.2.0","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.4.2","typescript":"~2.0.0"},"gitHead":"2dfed7a655f780247e8d7ad8dd6d1e3d0471c8de","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.2","_shasum":"0248526c3175cc006476184e34a73737d5a1c49c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"0248526c3175cc006476184e34a73737d5a1c49c","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.2.tgz","integrity":"sha512-ZI7uLRSe9y7VNsQTm2bS5+v/h+vDlM8OFwK8kfkYpn1lw8arYzATfPTuux8cLRN14GnQ3ayHtUzBU6TTPScayw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4PtM5MkxGRRFtq6tde/KR/fqBf8a80y6mKdN93GR7cwIhAMOK86tkaZ8x7MQr12SpFhiTJ/weer3c9ykkVsUN1m0Q"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.2.tgz_1491279372516_0.11934274318628013"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.3":{"name":"ng-bootstrap-form-validation","version":"0.0.3","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","clean":"rimraf ./dist"},"repository":{"type":"mit","url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"private":false,"dependencies":{},"peerDependencies":{"@angular/common":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0"},"devDependencies":{"@angular/cli":"1.0.0-rc.1","@angular/compiler-cli":"^2.4.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","karma-coverage-istanbul-reporter":"^0.2.0","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.4.2","typescript":"~2.0.0"},"gitHead":"a644fb0492ac8ed10fc6db484801b25b3bc9d84c","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.3","_shasum":"599392c3a1c2e97174339c429039d15114548763","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"599392c3a1c2e97174339c429039d15114548763","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.3.tgz","integrity":"sha512-1s56bLagCzOlRprcDWT7w0bnhfZ8e0QejQ7MeN4bTJIaQuADeYMtZXTQjpWoU4LB5NImIkzzNyZUL1TzBJmcAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClPTVdkMIPjlh0M0rn/BcTQTK6MVk7lxVd+bKvpn7IbwIhAMsKLA37WLH+Uq4N3xPr+/AspU5xKagq5mSN5R4y4K8r"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.3.tgz_1491281063837_0.061401767656207085"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.4":{"name":"ng-bootstrap-form-validation","version":"0.0.4","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","ghp-build":"ng build --prod --base-href \"https://third774.github.io/ng-bootstrap-form-validation/\"","ghp-deploy":"ngh","clean":"rimraf ./dist"},"repository":{"type":"mit","url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"private":false,"peerDependencies":{"@angular/common":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0"},"dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/http":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","@angular/router":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.1.0","zone.js":"^0.8.4"},"devDependencies":{"@angular/cli":"1.0.0","@angular/compiler-cli":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","angular-cli-ghpages":"^0.5.0","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.5.0","typescript":"~2.2.0"},"gitHead":"a968d97d309f18396aefbe52796cc7c75d9ff3f2","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.4","_shasum":"4e5c0c0e2b6653cd440c62afec467722561d16c7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"4e5c0c0e2b6653cd440c62afec467722561d16c7","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.4.tgz","integrity":"sha512-PMD5Rayg4AdIroHxcir1v2tytf8HFxG5AvUNzsId7HsiHv9us0/iAPCQWYDXuxVTgPIbbj7MPgy+lT6fcO1OUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJPk2OMwvlWVORDIDJBDn0qMMFIW7y+fDesuzBFBiYgAIgLj1MOg2DBrmdDeGHZoDxD7w2jM9k0eamzRxP/TINvn4="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.4.tgz_1491676860147_0.3569319669622928"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.5":{"name":"ng-bootstrap-form-validation","version":"0.0.5","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","ghp-build":"ng build --prod --base-href \"https://third774.github.io/ng-bootstrap-form-validation/\"","ghp-deploy":"ngh","clean":"rimraf ./dist"},"repository":{"type":"mit","url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"private":false,"peerDependencies":{"@angular/common":"^2.4.0","@angular/core":"^2.4.0","@angular/forms":"^2.4.0"},"dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/http":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","@angular/router":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.1.0","zone.js":"^0.8.4"},"devDependencies":{"@angular/cli":"1.0.0","@angular/compiler-cli":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","angular-cli-ghpages":"^0.5.0","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.5.0","typescript":"~2.2.0"},"gitHead":"7eea009184b107e5898e0ba2c2ad515105a80d1e","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.5","_shasum":"613701d56768de15acc4922ea3e7436fc83fb1a7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"613701d56768de15acc4922ea3e7436fc83fb1a7","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.5.tgz","integrity":"sha512-ScC1KfyGHlobjnlM4YmoE+VrL7xVP67Q9Hsv8936cpH6EQCbvVN8J1vxAlDOS03CRaalRrn2Ctu5P36J2OuLbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHvgysN/GKHJZV4SGrhi0lhDGrLxByYkrYX3r3gsxUegIhAMs8OItPPZ/YprPXLKIH/M3gpgor580+Y9vqQLeGrFC1"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.5.tgz_1491692530822_0.23206034675240517"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.6":{"name":"ng-bootstrap-form-validation","version":"0.0.6","license":"MIT","scripts":{"build":"npm run clean && ngc -p ./tsconfig.aot.json","ghp-build":"ng build --prod --base-href \"https://third774.github.io/ng-bootstrap-form-validation/\"","ghp-deploy":"ngh","clean":"rimraf ./dist"},"repository":{"type":"mit","url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"private":false,"peerDependencies":{"@angular/common":">= 4.0.0","@angular/core":">= 4.0.0","@angular/forms":">= 4.0.0"},"dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/http":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","@angular/router":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.1.0","zone.js":"^0.8.4"},"devDependencies":{"@angular/cli":"1.0.0","@angular/compiler-cli":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"~6.0.60","angular-cli-ghpages":"^0.5.0","codelyzer":"~2.0.0","jasmine-core":"~2.5.2","jasmine-spec-reporter":"~3.2.0","karma":"~1.4.1","karma-chrome-launcher":"~2.0.0","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","protractor":"~5.1.0","ts-node":"~2.0.0","tslint":"~4.5.0","typescript":"~2.2.0"},"gitHead":"2798e415985af98b6af8aa47c6a650f463e2983a","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.6","_shasum":"836c50299cfacb18db98358dd18fc727d19949cd","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"836c50299cfacb18db98358dd18fc727d19949cd","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.6.tgz","integrity":"sha512-J1Fe/O6svgZYq7shZdT45nM4vPyOH9kB8th7F9D5v64WWmL1b8R5cRNTz8qIsgR4VEHMgu6baUsAI1ww2O4cxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWU6gpy9Qim0gHC6pUDtUNEUT5wL/Nedi4DL/AMX8o6AiEA0ai2JUYt1t37xRWygeL3x/BZOFkTMxql00zycM7ptu4="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.6.tgz_1491754921098_0.9203446167521179"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.7":{"name":"ng-bootstrap-form-validation","version":"0.0.7","description":"README, an Angular library","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack && npm run copy:package","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:link":"npm run unlink && npm run build && npm run link","build:pack":"webpack --config ./webpack/webpack.build.js","copy:package":"copyfiles -f src/package.json dist","g":"node ./node_modules/angular-librarian","link":"cd dist && npm link && cd ..","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test","unlink":"cd dist && npm unlink && cd .."},"keywords":[],"author":"","license":"ISC","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"0de52f16f7f6ebafe26ef3e060fb22f071ef67d1","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.7","_shasum":"ffee594de705c4e95de43b0332331f011ba6a5d6","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"ffee594de705c4e95de43b0332331f011ba6a5d6","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.7.tgz","integrity":"sha512-1y1KiryqtSAx7z2mSovdQdtIKauIViSVknZxrPNkLFq04N1iOiZ47M/MVvQoVCKGMiBJ29V3olUDviznExl3SQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHisHSkKWy7/1Njnhp4Z8McJzZ1C4f5lU8x68k8qCrNNAiA8D7TCKuQou3UKCXghokTuyLSktS6fOLtSDyzzXx+TtA=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.7.tgz_1492057574600_0.8258897347841412"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.8":{"name":"ng-bootstrap-form-validation","version":"0.0.8","description":"README, an Angular library","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack && npm run copy:package","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:link":"npm run unlink && npm run build && npm run link","build:pack":"webpack --config ./webpack/webpack.build.js","copy:package":"copyfiles -f src/package.json dist","g":"node ./node_modules/angular-librarian","link":"cd dist && npm link && cd ..","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test","unlink":"cd dist && npm unlink && cd .."},"keywords":[],"author":"","license":"ISC","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"fd638b30463d989b5c4a7f22a40f002d1daa1256","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@0.0.8","_shasum":"8899356c4d0bfea600c98dc9e4a3bc1eb778116c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"8899356c4d0bfea600c98dc9e4a3bc1eb778116c","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.8.tgz","integrity":"sha512-ihNxTmX5+Xv8YV98coDHRMu1M6IGaZcGxKPjCKl1hTQaGp0YBS3xyjOT9fxt1ft2jgypmr3CySMYZrSzgdafVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoGiHFT0e+zO7yj3/dq5PW2biYP7N+OMILpw5Wa8ACZQIgNAHlClA1mzoJ7QqgLFYnG5h/4xqLucNx1xY/sk+A9u8="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-0.0.8.tgz_1492062134285_0.1999568387400359"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0":{"name":"ng-bootstrap-form-validation","version":"1.0.0","description":"An Angular module that makes Bootstrap form validation easy.","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack && npm run copy:package","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:link":"npm run unlink && npm run build && npm run link","build:pack":"webpack --config ./webpack/webpack.build.js","copy:package":"copyfiles -f src/package.json dist","g":"node ./node_modules/angular-librarian","link":"cd dist && npm link && cd ..","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test","unlink":"cd dist && npm unlink && cd .."},"keywords":[],"author":"","license":"ISC","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"79e3594c591fa1857448c24eab2b5a609016c367","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.0","_shasum":"d484040e3538f962bcd4a2d4040b5b5a5c239f11","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"d484040e3538f962bcd4a2d4040b5b5a5c239f11","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.0.tgz","integrity":"sha512-m/wlC9I98zaR3w5fn4eB0mNwwFjJ+CJxySQ23ArraEs53ILf9L4EPdYABS9xcv6Pg1hVclInW6clOBetRpCKVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbLR9ZuS9VOwX69JsioUg7+jK66guBWe1IYN39rg/8RAiA71QKiIrDQXgFbVxsX+y5qwgcrFGFTbhU03V3nmGlWPw=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-1.0.0.tgz_1492063973153_0.7107897787354887"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"ng-bootstrap-form-validation","version":"1.0.1","description":"README, an Angular library","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:pack":"webpack --config ./webpack/webpack.build.js","g":"node ./node_modules/angular-librarian","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"910c4697a852a9edf1e489f4b1d3f75f55e57abc","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.1","_shasum":"9ec4e49108a365ca2e620f6054d2c86b83ad9646","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"9ec4e49108a365ca2e620f6054d2c86b83ad9646","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.1.tgz","integrity":"sha512-sHFoNPzX43CsdG13HOu5Vwixq+FrCg32v7PKnq0cDj0NS7BVZTcePeYm0FvA3V5egRiQ1hz9l22gbCmh0BXmCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqmwF6a4753kQbL5xLFS+UjRcdSDFvIT8+jyQcOo+xoAIhAP9Wj1cn15nyt138yTNNsW/8FjHHw9g/vLLOTGQ9Kd2d"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-1.0.1.tgz_1492123885502_0.28733382071368396"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.2":{"name":"ng-bootstrap-form-validation","version":"1.0.2","description":"An Angular module that makes Bootstrap form validation easy.","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:pack":"webpack --config ./webpack/webpack.build.js","g":"node ./node_modules/angular-librarian","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"914406306b9441c3d1f11c44947ab4edfe73a0f6","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.2","_shasum":"9e2d36304d79bc470aa12d7ed03df925ce31da24","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"9e2d36304d79bc470aa12d7ed03df925ce31da24","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.2.tgz","integrity":"sha512-XbHKj1nlScm1MeYvRCAIgd5WSHX3RrDS9sjvlANIiN67tAKIcoqjoAt7/NrHI7tcSafSGEVL12UFYJrQXncJYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbRsZRY7zH5fn8iZftyE826cpmYMoqgzBHNBwCaoH6hAIhAKgTh1PGuj5HjYXUZbfDO4sL9MzGvaS8aPf+ticMsZSG"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-1.0.2.tgz_1492123943146_0.7235256179701537"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.3":{"name":"ng-bootstrap-form-validation","version":"1.0.3","description":"An Angular module that makes Bootstrap form validation easy.","main":"dist/ng-bootstrap-form-validation.bundle.js","scripts":{"init":"ngl i","build":"npm run build:copy && npm run build:aot && npm run build:pack","build:aot":"ngc -p tsconfig.build.json","build:copy":"node ./tasks/copy-build && node ./tasks/inline-resources","build:pack":"webpack --config ./webpack/webpack.build.js","g":"node ./node_modules/angular-librarian","lint":"tslint ./src/**/*.ts","postbuild":"rimraf build","prebuild":"rimraf dist","pretagVersion":"npm run build","start":"webpack-dev-server --config ./webpack/webpack.dev.js","tagVersion":"np","test":"node ./tasks/test"},"keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"license":"MIT","devDependencies":{"@angular/compiler-cli":"^4.0.0","@angular/forms":"^4.0.0","@types/jasmine":"2.5.38","@types/node":"^6.0.42","angular-librarian":"1.0.0-alpha.12","angular2-template-loader":"0.6.0","awesome-typescript-loader":"^3.0.0","codelyzer":"~2.0.0-beta.1","copyfiles":"^1.2.0","css-loader":"^0.26.1","file-loader":"^0.8.5","fs-extra":"^2.1.2","html-webpack-plugin":"^2.19.0","istanbul-instrumenter-loader":"^1.2.0","jasmine-core":"2.5.2","jasmine-spec-reporter":"2.5.0","karma":"1.2.0","karma-chrome-launcher":"^2.0.0","karma-coverage-istanbul-reporter":"^0.2.0","karma-jasmine":"^1.0.2","karma-phantomjs-launcher":"^1.0.2","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.8.0","node-sass":"^4.1.1","np":"^2.12.0","phantomjs-prebuilt":"^2.1.7","raw-loader":"^0.5.1","rimraf":"^2.5.3","sass-loader":"^4.0.1","source-map-loader":"^0.1.5","style-loader":"^0.13.1","tslint":"^4.0.2","tslint-loader":"^3.3.0","typescript":"~2.2.1","typings":"^0.8.1","url-loader":"^0.5.7","webpack":"2.2.0-rc.3","webpack-dev-server":"2.2.0-rc.0","webpack-merge":"^0.14.0","webpack-node-externals":"^1.5.4"},"jsnext:main":"dist/ng-bootstrap-form-validation.module.js","types":"dist/index.d.ts","dependencies":{"@angular/common":"^4.0.0","@angular/compiler":"^4.0.0","@angular/core":"^4.0.0","@angular/forms":"^4.0.0","@angular/platform-browser":"^4.0.0","@angular/platform-browser-dynamic":"^4.0.0","core-js":"^2.4.1","rxjs":"^5.0.1","zone.js":"^0.8.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"gitHead":"6c1f6697c72c9a005e9bc850d64a837948d5a0b8","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.3","_shasum":"e1409254e8525fd4b2dd13932c904a034e285e6f","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"shasum":"e1409254e8525fd4b2dd13932c904a034e285e6f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.3.tgz","integrity":"sha512-q4IlpQU0ls1Z4EpBJemwd2uMkwKQjWcCKOg9sX+gKcebSXx8ttKXaqHvwM4o9775VqG5zokGTeS2111gazpVrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1c+jcg8P9so9mNhMeR+IALnj1OabIrJyDNgVvy+/LywIhAJ17+4EE0kRQ96/p6LcKu1Kn/lkDsiiE9HdWTY/8iPiD"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng-bootstrap-form-validation-1.0.3.tgz_1493767766017_0.0540462895296514"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.5":{"name":"ng-bootstrap-form-validation","version":"1.0.5","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","publish":"npm publish dist"},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","ng-packagr":"^1.2.1","protractor":"~5.1.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","_id":"ng-bootstrap-form-validation@1.0.5","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-EWLHOQgmfdnEkDqSHPBdEgxEGBG7VwGo2X0z87kyiI2431I55Sxgy4tyO0Iac2v5RpuaMJnrIfMbX3yOXvLiPA==","shasum":"be209e79d6e0093ba56e69a1dfee865c2583e459","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwOmai4D4U7zXD0CElYoAVu5aFABoXwuUr1CPV8sZVigIgGgvMViyNL2T2iA6ydeTH5DBFUNPR1LFHyRSDUQUSrOs="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.5.tgz_1506906229799_0.28259036410599947"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.6":{"name":"ng-bootstrap-form-validation","version":"1.0.6","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","publish":"npm publish dist"},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","ng-packagr":"^1.2.1","protractor":"~5.1.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","_id":"ng-bootstrap-form-validation@1.0.6","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-XIkRXV343buJnNZdHuAT6k7RmdEOEecel7lQBKRxYQS/KGxHb7yYgLunkGSm+GcSULOaaheVS6QlW0UU3rQqPw==","shasum":"3e431fa8a7755361f3facfe7632ff6d28b3c4d14","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCwKIF7CRgQnLc010YXx/Wr4/y6EfYm0bGYjB05ij1GAiEA9FnPDJqRXttKQFT4xkpBOqeDApIR/EU+l7upJL6zZ68="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.6.tgz_1506906311793_0.44038201915100217"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.7":{"name":"ng-bootstrap-form-validation","version":"1.0.7","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json"},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","ng-packagr":"^1.2.1","protractor":"~5.1.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"gitHead":"4102e7565b0d512bba946903c4937ba4308fd0a2","_id":"ng-bootstrap-form-validation@1.0.7","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-CEjA8z9gfcCdGG70kOU3tyeaKSK2cng3b3Cb7WVedM8hAH8t/7BlxzoAxh62iyiedn2ZAZ2fS+gOlZCq+Bdzjg==","shasum":"657858b5e8c0b1426efd9e53d57fd01c5d346f5c","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8qDyAh/wLT1QDvTWK5+No0JkEE+aV2Tf6jiAN39S9IAiB2Q87QjuzQxx9flO4Dy5dYClkzQpW4e3dBMrJto+/8xQ=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.7.tgz_1506906357990_0.951002353336662"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.8":{"name":"ng-bootstrap-form-validation","version":"1.0.8","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json"},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","ng-packagr":"^1.2.1","protractor":"~5.1.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","_id":"ng-bootstrap-form-validation@1.0.8","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-rM5yh5r4+OLdrhf9U6JBGfuZrP86LfR9O9Pqz8mhix/vL3VDX8/RfhPByx9Dpqn+bbU7H+SPSAf58xhPnGrn2g==","shasum":"e330510c0e52cbf0251fa8ea2fab2952cd6345fc","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX2glmggna9RkoGbvpFjmhWc1Y7F4CF03ddaQGL8+pVAIgT9tsfjZl4Z2U07edsfl6AANK3yAiwCGWNwFYkqF1oBY="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.8.tgz_1506906477344_0.31605149526149035"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.9":{"name":"ng-bootstrap-form-validation","version":"1.0.9","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json"},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","ng-packagr":"^1.2.1","protractor":"~5.1.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.9","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-yxJbaGB1TyPexulfIJQe8soMB+dfbT7Bqn8dgi9MPsgUucoUj94Z1UnAExhoNeRUC+8mTuJ/HMn4Cy5Mi05Grg==","shasum":"d887f7fb94cb6d6bc2577ec3cec808f0e5ddfe9d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD401W1RpoRjQK5negXp9Xiq4yi2ulZiGO3hqYRF7EQawIhANwmRKkUlGx8HPiUYgDcJDWg+8vEm4czIupfPcLU7Cq0"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.9.tgz_1506985244997_0.9666246220003814"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.10":{"name":"ng-bootstrap-form-validation","version":"1.0.10","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^1.2.1","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.10","_npmVersion":"5.4.2","_nodeVersion":"8.1.3","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-7F7k2AAW1WBk0g1V/1zI9HYV7T5SL2iuX6tryo6yUnlLoaw2Ye0laXpYXBuV3GI4ymftWeJAiEiaNZUUOmZgoQ==","shasum":"7e19d4e7eaa4d92c1236e50e3b1b6824840c4d3f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiPTgtzeicxNb7TLZ37b8qEO3ut7Y/pqbZbnhGUOtP+AiEA1qBxfawOCFyCQFAqAGKX+cC1+zjYID87CIqlbt+lOCA="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.10.tgz_1508082651152_0.6358554507605731"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"ng-bootstrap-form-validation","version":"2.0.0","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-DRiE43FgOR1aL1a0AY9NZWew6xrvv/J6fY0h3NI7IiQfGBUKSXlY53/kU+f627rFaOB1DuWbGWlJG3HMo86LLw==","shasum":"656653487d1328914265606f181f3666102eb0d4","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcv5Ef6hWMay8G/u0UgzRD+AmGfOcI/h5pH7Kr93PtDAiB1ZTK2F6ddnR9BTBRC1K/MCmqhIKI/lC461MsGgaNJBg=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.0.tgz_1515127519686_0.9160479234997183"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.1":{"name":"ng-bootstrap-form-validation","version":"2.0.1","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-7r/2nIrItvWZ78UFofAAcDcmDuzl/V99RyS8FgIuPQLD8eO/dVQOo3/mnLznBz20GRWerCL8ncC5/86AlWLbWw==","shasum":"e3d5975e88e7930116af366891780db9534cea05","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6PPsg4yR1ktm1rREGx5suKj3gEIBGDhNBOOXAUOo04AiEAqoC3XM6rHQw343FQNJ3I2X38F1dtt+IIVRY3qBOsDG8="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.1.tgz_1515629540102_0.3111467147246003"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.11":{"name":"ng-bootstrap-form-validation","version":"1.0.11","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^4.2.4","@angular/common":"^4.2.4","@angular/compiler":"^4.2.4","@angular/core":"^4.2.4","@angular/forms":"^4.2.4","@angular/http":"^4.2.4","@angular/platform-browser":"^4.2.4","@angular/platform-browser-dynamic":"^4.2.4","@angular/router":"^4.2.4","core-js":"^2.4.1","rxjs":"^5.4.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.3.2","@angular/compiler-cli":"^4.2.4","@angular/language-service":"^4.2.4","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"~3.1.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^1.2.1","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.3.3"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.es5.js","es2015":"ng-bootstrap-form-validation/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@1.0.11","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-zwKxM2mVBZGvFQEiaqea8n9Q+2zhUL1DwYz4xYdih7BAeL4a/XgjHfGfL60Ojwb7uTGrcy2AUS/sBfiIHjGHLQ==","shasum":"d31f06ced89ba6e3ac91ff0ee3e643b3b7487614","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-1.0.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFHEuxw84iiv9+SehYKBVTFrvlwfHWQfD9lfrqHQnGQ8AiASdRlm7DUfLI5ugfapzvHUrOgWvrZjD4VIlBrwBsIqDg=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-1.0.11.tgz_1515634545456_0.35999262798577547"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.2":{"name":"ng-bootstrap-form-validation","version":"2.0.2","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-2cKO3UdElP3yxDmLbxkvSf6Up9riWKL+D5SmOR9wlweuxmftQNvosTPDuTXDzjIrM8tAjhXPLwsaROg3ItJg+g==","shasum":"965e171b6510b2a29b9d389cb91e164460c4dc7f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6RjKyEmoqlNxVFg6NUrcMbNLXThFQxz/ahJiWlMoYWgIgJtRp+3kfsYV35kCn3n15YPRlwpIrIHmxrWvL+Wjr/V0="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.2.tgz_1515716661770_0.8497812659479678"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.6":{"name":"ng-bootstrap-form-validation","version":"2.0.6","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.6","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-DspBTcZCbUSOrD6Y29qbXowRb7joyyA3IgINK28WLe3q/4nriQ9pT9rdoHs88KXLU49yetYaadJ5WtS6EbGgCg==","shasum":"5d8c745c3f68f428c244d9a16b534a43a2a7adbb","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGQUsmcpYt2tdEqh9jpurBeh/qtqiGpXj/u1wmcRqFmjAiBEqXQZnz6Bab7icq84U1ifmRxQe/T+aVHuCkXeVNl2CA=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.6.tgz_1515807666691_0.4672604762017727"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c":{"name":"ng-bootstrap-form-validation","version":"2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-0Rfw5o0/F3bTN5Tlah2Q15IoRIeqvu+B3xk1omLr2Eyv9DZtvZYGox3kLFV7Bfh17NzviMq+qZynSX06xq+/7A==","shasum":"381830a33772a39aee5ec632408793a0dff7b950","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiRpef9qUkRO+e5Nusl8DW6fsOXuQ7aESZSaF7677FGgIhAO3DCF8T0/ZSkA8xbYJvt9KyGYgUSqTkVXLAUT7rAB67"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c.tgz_1515859002998_0.2712733349762857"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff":{"name":"ng-bootstrap-form-validation","version":"2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-AS/k7FYzTfP1qyWKR7n9Nwai5mvNo6lDbrDGCP8XqoRiRttGgVMcVfD9jqjyQvpMam4aneOujo8fQrNfNS3N1Q==","shasum":"393b93dc526cb7552d00e606ea8346ebbf9f5011","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJFegW7Rqkjwy3qKXzZ/X5W1fGo8TCGEDjoxM1nKeGHAiEAmtNO/UzuPcM17OcxeHtw0HaWUya9CJ6aB18KjAGMFdM="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff.tgz_1515945573911_0.6367148442659527"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-Tar5MB51nOTQw4gI/xQcGU2AvYd5LxCgIOa3fvow5Fah/6C1pZpRwwIuIjzbvHFQ76gMyQjchCQkbNthVvh88w==","shasum":"78fc0746ebc0b1706e83df88478e7e277bd5e842","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXMcinsmuVQYNwV1Rdw6zNP1SKq28J4MNALpv8atnvAAiBKHF1vSq2jWEUn/YL1SK0d81EQr3kNDzfbBAvSWRQaSA=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a.tgz_1515985303003_0.5042397356592119"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"ng-bootstrap-form-validation","version":"2.1.0","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-OiqPMSsRo2FRGsHoytsHDn5Kk4RDss1kYwxxmDgNt9BHlYnnxzdyPcIe1hcuP/WnbYb7k6mIjp0m62xPoyfY5w==","shasum":"aa5027b4ece9694b7385f8d5831cdd96d067d70d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDN322YS8skab+DaDDZcHrZaqcQKijmi/oHeBlnWlM3AAiEAmmMCb4qHSh3zxglgYDHBSUjDXvd9UkDBZGUTuwpdgyM="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.1.0.tgz_1515985313942_0.8663553670048714"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-Te8ZnHyIa4x/5SAs5IdVj8iav8liMnCuGuccBeAt1tgCcQFaJrSTCrKRTBRjN2mPP9mwuen3ihiKGefVc9wDgw==","shasum":"82f5815ea46c31b0ae8623bbe0587048df2ef0c5","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDH2CkcBYEHrD4Y4WqCviVmRCER+Vku6H2k52rBgLlSQIgPd+CQY7CnQgc0RU6j7Ye0rtSpC+kpaTZg9VbVY6Cqy4="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad.tgz_1515986043003_0.4677318134345114"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-iUF3/g/fe/PlE4Jz3e8gXHioCUM7RRkHdKtRHZek5d55GvBhY5wgb1QY0nUzJXsaqIWjvYtTty3Ngbfq5XSHpQ==","shasum":"f4bf27db91a1389f876e76d42907922ac0ad3cc9","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqWolP0zik9BWKpzEu939h8KIQ9ZHI/7B9tM8HHj51mgIhAPqCcrEzm/4yiSl35vl7+xctwZeBO0CbavT9ZkivSdq8"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation-2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1.tgz_1517353480049_0.45514673786237836"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18","description":"An Angular module that makes Bootstrap form validation easy.","license":"MIT","keywords":["angular","bootstrap","form","validation"],"author":{"name":"Kevin Kipp"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"scripts":{"ng":"ng","start":"ng serve","build":"ng build","test":"ng test","lint":"ng lint","e2e":"ng e2e","packagr":"ng-packagr -p ng-package.json","clean":"rimraf dist && rimraf .ng_build","pretty":"prettier --write \"**/*.ts\"","precommit":"lint-staged"},"lint-staged":{"*.ts":["npm run pretty","git add"]},"private":false,"dependencies":{"@angular/animations":"^5.0.0","@angular/common":"^5.0.0","@angular/compiler":"^5.0.0","@angular/core":"^5.0.0","@angular/forms":"^5.0.0","@angular/http":"^5.0.0","@angular/platform-browser":"^5.0.0","@angular/platform-browser-dynamic":"^5.0.0","@angular/router":"^5.0.0","core-js":"^2.4.1","rxjs":"^5.5.2","zone.js":"^0.8.14"},"devDependencies":{"@angular/cli":"1.6.2","@angular/compiler-cli":"^5.0.0","@angular/language-service":"^5.0.0","@types/jasmine":"~2.5.53","@types/jasminewd2":"~2.0.2","@types/node":"~6.0.60","codelyzer":"^4.0.1","husky":"^0.14.3","jasmine-core":"~2.6.2","jasmine-spec-reporter":"~4.1.0","karma":"~1.7.0","karma-chrome-launcher":"~2.1.1","karma-cli":"~1.0.1","karma-coverage-istanbul-reporter":"^1.2.1","karma-jasmine":"~1.1.0","karma-jasmine-html-reporter":"^0.2.2","lint-staged":"^4.2.3","ng-packagr":"^2.0.0-rc.8","ng2-mock-component":"^0.1.0","prettier":"^1.7.4","protractor":"~5.1.2","rimraf":"^2.6.2","ts-node":"~3.2.0","tslint":"~5.3.2","typescript":"~2.5.2"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"esm5/ng-bootstrap-form-validation.js","es2015":"esm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Global Custom Errors\n\nOptionally, you can pass an `ErrorMessage` array into the `.forRoot()` method in your `app.module.ts` to provide custom errors across your entire app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {HttpModule} from \"@angular/http\";\nimport {NgBootstrapFormValidationModule} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(CUSTOM_ERRORS),\n    HttpModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-91wnZMSIH3JieIMftdCg03YRfCMPzy5VPiblNsmTNDZJ9EDzUu9JIsPvHXImEPSDkMhZ+7FlBE77V0Vxw7W58A==","shasum":"ac6e857132f08474b87af2b80924f1304c9a3b4a","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18.tgz","fileCount":22,"unpackedSize":113248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/Z+qCRA9TVsSAnZWagAAWlwP/R418/SIGEI6KL09KC9H\njp3nFB0BM98gvK0kqZqhLF4zUcqOoaDKAm23Pl3CLaWhIxlxCQUSlCKF28T8\nqHloA5Sw/WTWfM5ZP3i2m6W98ZcXlSQCAun/F3/wfKF3ZbqgMW6qPwEWaW+0\ntjjbVukvmY7A1QYAcfZ+B+69jifyZLjQynKusWhPbgjqgw7doiSSAHyiyx11\nPcZTapmxjRwR9+1OXH3LEbUb9FYsnWan3Aq6fv6bLklNKJlqZCdTHy52dGIi\n4WB/X0lJsjimEFWzH1BtvEaiMjVGWAOwjp6DkkTeoiqxmfzuSSYou3EU/mGM\n0pvJnREyNB6G9AHgadbbUmZwBIdjr6M0yX0Vqfy8rybNwNmqVphsELWBEY5d\nm9W8fciGLMis3debOqu57J4Sd1EJo3NlkIregcuwPar84H66Oevg4HXV79XC\n1rPnBB3zEWAtva97orPGHVz9rRRdCVeXeMsrkt7oAKl2exAgRuQB2ZDB/uer\nksW65zkogkuH/8gYGr4JTuWq7106sKdOhxDVU2cIdkANOv8TQ1zV2d71kJYB\nrJH13A+na/5XBSaoVFefW8PMrns3gepCAwJkFg8nmFF1OUxRuCde85FQ74fv\nShqYkR5tR/GuSrh5R7b/lXc5VrdewMARGYvChLvaKN+9HSAF3D1IXWpEIqrE\neTeb\r\n=7Se1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+reTrZ2qwcVpxObYSLY4AKu5sSriRKS1ke+DCeyATsAIhAIdV9LFPknwsnxSJL7TpBwtr+6Qcdw0prOP1n2aQ4pio"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18_1526570922216_0.31541312706749824"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422":{"name":"ng-bootstrap-form-validation","version":"0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-gPmkjGODlZoLtNbKwOfh9KJpawpZAI7MSzH4bMcaGszQLZwY3Znpxho45XRC/w9nHxjeqGWstyYz2kuCbidJog==","shasum":"0756f5f3893373252c29118bd1a9916b0c4d251f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422.tgz","fileCount":58,"unpackedSize":228021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjAgMCRA9TVsSAnZWagAAaJkP+wQElvdQqXADxnNkpDAg\nRD1Ibl8H1v9gU7FFGy1epgDpWaZxBq7jb7FB8NWpJVsUf13cyUCXNJl9dbqt\nCBVG/Vv0Khc2JbltRaJccPcBkw4KtZtMX429uzG2jv/crRmpZCgBECbPJGEH\nJ9VjXH6njUhtsbwKJylCz5oYLVAMMZXOYFhrtz0LcYz5kJ5RWebxMwqy8yL3\nFTlptLqAGpf38/UoeFYcj9+xKCQxvUo1TQYZ1yhqR/egdROJ+RnLkr9wVFcI\nWb2jH/Mq4qRa8rqBPxCZAEGfXnqiRvAUZ2XmkFYhW+4AyGFHxpMiLiw1yaKk\nK6LPnMh5fOe41nwS/35+3VMoFiukSTbwxE/hh8ZgCH3Ft49cxGPm0A9e81ZV\nxrju2TZg2cFXO6bWzqtQUM5YtudtPg5j5j0xliYgdJtIhzB9cQrXyC3DmQje\nBp/RVu4ggIQvIXR05dtAXS+Lz+9jYx9FW9yzjp6lNPe4365baCI4CuREN+c/\nhJpjA68O7dzzlSoo8qc4B9t5CAKg+bjbMFGJearVSp6LdnGU3VKVCMGyXVEO\n7mN9yZ1O9NZmm2UxJcC2NNeImbU30+KosV/5tR3vXohl1djeduBLFaSI7nCu\nNpMquOezxB7SSkFyKYLPbhXRTNh+99+MAtRolT77FpGlorAZyoC/IsK0jr+/\nhfxD\r\n=Of6b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHij5t2zq/ReDS7mh/NgbkV6Na/FuRlb5Ro7hKK7M4WYAiB3lut6Mk+7/FSorv3EQvIrVaQx5uvFtXW747bq7qq9ow=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422_1535903756212_0.6165792006363517"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51":{"name":"ng-bootstrap-form-validation","version":"0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-tUuy5c0oeza5/zfNEXAQtbO6qQQk5p3PTixH2dCQ0Vc2WMKAaggLlb/KW+Zm+Qevt0QzvotkRSQGzwcb6OTMfg==","shasum":"cce8d6742f75d036ef26ab8a1260067f85fd138a","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51.tgz","fileCount":58,"unpackedSize":228021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjEM6CRA9TVsSAnZWagAAlC8P/RHkiQGysaTo0vtxUAVE\n1l1+mlU46WNZSXeuRs3hPbAJXydz2Vg2O7RqJuj2A8VjWJDsO4BwqgoKDb/v\nVG4ByntswH6gt9lpJZ7uz5X1IKcAM3GDUMkHsVGtSeUE63oA6qeZlsQWyBaS\nh9f/YUJgljbQ44iBnkE5iun0uh9PVXwBySWzs9XOXwUbiLUYRPptdolis2gA\n3d9v2S3ki6w/LC7V2761PvtebNiv1IyKsaEEKLAqmfNJBzmwaUN6jExQ6TBT\nNFyjKP/VlDCuAYYk8rI2W/AHTzgE1ldmhPQW191yh9dfEUV+KhaO3Y1PDoPO\nwhyRgT5v/bBPzp0AgOe/ZSohk7Hi3gdtnJ5dHzLd91Aqk/Q419Y3AP896/M/\nWDQrNs6MjMUIwVW4kkMgpKvTLs3KpacRjqBTkIB5i86VTUMxW4nFRUXsa33z\nyS9TMASowQ1dpYY2kloVvItyihHbNUjxczCBiM+t/PXcs9KqEu4WeM+PI2VR\nE9EHJGHOI1M1VKl6p3BuN9Uxa22JhWUOIsuOGYaJpCiEX2LCygeV13Ut0aHz\nsrHfLCGmPkawrDc3roShEUBHr2dno8uTboh+AxhpvWQXn8KfeVYd4EDNGgU+\nHB98f+icitRs0l5uUIee1kn6DMIeQPgC1nd5SCp4AVZ9UPXOznTg8AMjlNz0\n4Jk1\r\n=gkqq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHw2KFDUH42XnlnQegitUKnEBosGJ9NTEfEN5w/QfdRmAiAVdQ5AzgL/CGQwi5qXQAGciyBPNzDxGItXnT68MSli0w=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51_1535918905998_0.3788960640734724"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-tUGh/l81zrkPAsykSUZJ1JJTU0EP+27OzOkzHndWbiRHkoSAliZAcuOEIpL7/m74rtRg0LtAKzSqZFsNNFp5ZQ==","shasum":"9a07d1e8320f1036068d2dee03b593bcdf50a509","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b.tgz","fileCount":58,"unpackedSize":228021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjEk5CRA9TVsSAnZWagAAE2sP/3RLgCsJH5KX+9ymEMmE\n6YdsTmfmwM0qbGqN01uFU1lEstzFSzmpQQeqKBHoksTEhKOe169OwmmTZ7fM\nnEFp4sabwoYmi9CuN1lvS7HP5TZWSa53hTJL7VC7uQJgAH6YldeXNgKBvkbU\nsLf7TXgw/H8EY/oQwcWLgNs9kQPIXHMXbFuDDiNua+V9bFBn/wjmUXQugA5h\n1zVmdG4vzDX7rsQ7f+n27bVbr9VOfoqRRAC22RBaCnnT958NR4Iu+IMas9Lr\nzhVCgHFCKont9zSx2bwMT0Ybqy7WBICWIOgBwbeog/6+PN0FhaRBI8q7APuQ\nYp2uugg1iyfgOfDC2YHTF+WKFpEDz6yM1MXStZaEkISs4NnPBoSW+wQvwEi/\nCtsjhbaBNyeIDFAYgnV7DGRg3kexCiPuMxmpRyvbzAGU694jsEiE0Wqo9Xd2\nNsHpNhP4b28r1sPCcu9kc3nqpwPQDHU7j954iXiKtgl3uENtuwwwbu4pfBPa\nSe3CgcxQa8fzHDVPPvgi+hgf/24xN4FA1PtQi/nZfiZkaiIUmuTCLzkqg+Bs\nWQn8P+nyFm55JCPhERAVVPYoxJ2EOlSbrotfFAEc28457iKCbckiGX9DWE5i\nk7Ht4p/q8isfOSH9Vh+0cn/F+EySBUCR57T0gTM5CtzdvCkcCC0IXhnr+Ph5\nfrc6\r\n=HSGI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4gq8iBQ0KWsj6OWDHcODUfNJ0lMJ2z7aNlIzXpMA/GAiEA+/jnVGg5oZ6TcKTfnByGnhhyTnRjhsZQNOacX+7uNm0="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b_1535920440823_0.8777137391782575"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-MJ4AJI+y/AECr9Vje/VjTnZMVedtrQIz22T+4kVrejI8zQvyGYXbWyQeGCoSIzgPkguuWIL7Ifz816ye784wBA==","shasum":"b9ff7f901c5d7aeb85cbd690efca213fb87adf4d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27.tgz","fileCount":64,"unpackedSize":373477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjKqLCRA9TVsSAnZWagAA0ngQAI/dCzWUKohvPmmZWpl8\n86SJl/LYMZTX6Su8bjXkFB0NzgkKY+KSspCuvEwkIV9UtCwsgGPphFrTyPQm\nvzA80nsMJsMDtm13xoEBCpHoh9En394zucaExcoA3DYYhdtX31a8jFXNk4rW\nXyfBSyhxMCw5wDQcbVRoIGrNgfK1ewsJse6mE+9vCB7zMilbro9WB6N2ChOU\nYyme0p+Q4u5NbOGOqUyfT9/wc8H8nZkBrtzsIJ3JDZS6xwgz1E7uuGYRRZZG\nZp113oo+uEFAjKHL4dRjs5oSuufnlqHDBOzkeMnDFRBx7DPtQutfT7B9kglZ\nc0ABI0MlV2isCg81YTor8j1wVx+rRzGKJ+iNOk6rEhetQBArikP7Y+12wc48\nFtVH1Fv0fnp4wd2/wmzwm5gSpWHywM0RGU7TnENgEOR4j7c0lLddwcSNx/+u\nhKDdcy3e10uMRmkhh7YFS27E0vyXBjyvxMlHiozfQkpU2wxTI88gFzOXeP54\nzzpV+hBalVB3iEuU7myO0MZ44aOyReb5/lEMLBss6988N8PHln7Zk3njVI5g\nO4aCDySoYnx2Xf/FM6M7OJcGO2j1mRxRL+MEvZ4rcXjr6OleG43Qxxy1xERX\n/+RJKDugAGaDBLqhCVocxbdQUQ4yNzaPFk6XULHmotJwp6VOx1+xAfmjdF5M\nJ96c\r\n=8MCE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUIwPeS3HCNZZimhod9Lf1DwzNPwb+7qD1+dFSHLmBNAiBBSp9REsh1ZSj20NuRTQtA/OiCUTR1bKx5Eg8/WMi4UA=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27_1535945354474_0.6527236296274705"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-IXh0FCO0UYMbM8aclSplj6ibd4aYdKfqONyRvt9yB8YnsmCrGNOewZ5xF9SlPYlWAm/wIwEW8Ns+9bCmEgCAMg==","shasum":"bd6bcfc07cfe0f9010db43fe3febf2f8770404b1","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc.tgz","fileCount":64,"unpackedSize":373524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjLZCCRA9TVsSAnZWagAAPUkP/AuIGRGhdVQMkGrULutX\n7lmiVlJzQvp8BU4Txor2UP+Rl31qHUQQ3p1vn6BToGlG1hhDH+Q5qyz5OFSl\nD7y36mS7p9jAIt+K60SxkTGxDtWIeo5LDFXz++4gmh1JD67PembrIYaApiA8\nEInEABAf8wChUBwimT/b+B2i829NdV4bb/60XJp+8sU0OOQBugwLqyvalegK\n7GAcz9Yi1CpPOU3ygBvuqkTBGu8YliNrR5+nehfRD69gw//gwtszwpTd6Cnj\ni/tc6UnqmtgdujK0pg2F8ZMKiJ68IMVLgK5qSlZ1bPskGNSaykJSHoS7zkBm\nNjPME11GMW3srDjPupVbH5UarhN2Wc0yOvviAaC9mRwaimtI50bXMYIvZEqu\ndhvuCXDyHHr68xQl7swuN3LUJNYe/N8zjqUBw+WwAhPY25KvpVfJvIThD/Gl\nAr2AZyCSJ9aHI0BX+r95kbp8vtMBsI9EI1Yz3IXOsCuJM8W6oHb816L+EOU6\nFy50tmbpXc5t3ZmIkCpxReu8cebeHPgJzkoDFZJalgM1nyNsa7pxqohmuLS9\nrC8FfqX65fPQDcRc4w48R1ebVEllsb0LZesuImioQi6p6C7+F6n+LrJx1Sst\n2POM2nxFmM6D1YNSk0F1jL/KxeFxUoXOJTL5Np3nUuvqbaDOjBMfh3N4UcMK\npx3Z\r\n=FDyW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXK1+mIdwwg2aKlM49aBou3jnCVxx8/kbEcHmKzS/GTwIhAKVeG9PO+uMcbDUsYSsn3R8BCWIP0L854koiLRcsRVIE"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc_1535948354181_0.015806911017994585"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-WQGJCXcsclioyzhzFuFBGYjHlzpPasaKcK+2gtX2O9/kGA88KKbK8uVKxe21IsoJeM93ymBfpClYWzv38Hjb9Q==","shasum":"6bb64ab033cb88c70fecf612b6a5515ff87cf664","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a.tgz","fileCount":64,"unpackedSize":361344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk2boCRA9TVsSAnZWagAAQDwP/RQNLnO1riCIhbNtD75v\n08r+l/QXN/fOlVB8+JmNgOgvw5s5X93wQQZSHIaLc0HBimYnTBo3Ypbnb9Mx\nqN6AZ5rZPNuje62KJddvEe21GH7szSxZZg+Onr2CKk3X+it7lcgSW1eQcAh6\n7CX2xJnjyJoOZWXtpdPkhDmPqHpwBxJBkBj6Ym6fICS5wfHMcjS8K4bTadm3\nD2REYflmPjK5Teoe5z/WUNWRFuYq4t4Cu5nIPA0YTd8a/+aBX5Y6WuBw39yn\nJHwdNvXYPgliUWdf9Zbh1SE2txp1SHVS097hwUx8W8yEMTy59lfEczpR6XsZ\njHEstokzozQsPVJQX98wO9hEMEVz7wwjDRaIC4PgjuD/C24cotjUnjZajK47\na8LPB1KSdkIDt9ir+DvwQk7qiPlDSSKjG68a21JlNnxAbB6oBdrEw/SLENXz\nlp6xB5rjDjYmiZPC48zlYqIMOkE0NQEnIw6AjMqhgWRaYO1+xtd1kxbP+OxU\nNXUV68ONmD/k8bIKeoX6SoRq4sZZEVMB0qX8EEWMXCqB/LGXeOczW6QZY64i\n5oEizAXyDbo9v7FQKjiph3VuFdHywIF7Cr6rx4voY7QNq4xq1cg+pAukl7T2\nub+Z5e8GpSBrbG6CO+Mwu65xNGLH612ZWClmCtn/qyq9ijrsytBQdTXHUZe/\nO6Cq\r\n=/70L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAk3czRG/F1BSB6gHbAkPU8b5JDNhaDtUbtyAHzqVvcyAiEAkL+JWtCj3o3uYVF8nE1h7NTh9Ao7XhqrDLdV9TyvthQ="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a_1536386791969_0.7922845184150502"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-rHkBIgfpxVb+MVkj2uQ0UhTYzTg2qop+MFyRvDnL2IyR00G6814sC/53u77yWZ6Np6438sGQ2OiT6Hhe+dnK9w==","shasum":"8b70bf74d46d75161cc25df6d092713f41187d5f","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19.tgz","fileCount":49,"unpackedSize":356083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk2kqCRA9TVsSAnZWagAA4pwQAJce99+BD/swBDZj3gkh\nGow3CX3FWb74momLOuJ6P61jK6clYAP+ti8VE4LRZT1qICmT2QFxx639oBTd\noNr/uJB+uSOYWp3ktHCI2eHpL3EOPw94oHbSBSQPxiZwHZo2BZ+2x2sJDB1b\nOVaFD7+eum72Txa7WYzBGYyCSsM0hLuS/ajRn97p8zGEfBxvVU5Z3FpkXuHx\nl+E0pjeObJf/XGlslRqF06y2hxPsfD76Apxggw2iAORIqhMIfngOLhq7V0Ni\nHjo4GT9LxjH4n1n4hPYfNN1MIwjpQTQ1UPp+efwdRjLX55lbz+ufQBmNYL1A\naevtMnGaxOb3RzcN9iUJ+m5ryOlkC+ktPxSGtMAapT/JC0rTt4IElfwFIC/f\n0YWYIxa3bzlOsuAedWp5ogcOJBdNzcvHoSUV6bQ628Dg1wcHpWt9CNff+Xaf\nyj0MvNr51ubfyDA9wW6B39eyECsk4329xc2z6H3ttTYsbKw9E7S1UsJFORty\nZ4wmkHOhoC4pIVjpEReOsTwLDB3T+rfNqHpQh3elrtlX9nuGsyxqOJpvYE2C\n329KjCcCbXYzVgRi8mhS2Zl09l2y/gbZZMM+AvQklkP57FFXuxRYRVWnDknh\nUr9C15S0gkhxrzWI+mJSwlCZY7Gnlt6G1wbpUvYdDOvvml4vNyw7V6y7tmUe\n2mlY\r\n=KALv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkyxdnld79xSOvIsgt2JMSq+yWyuGkj0D3zITYZfRFeQIgZplABWBuOCZnaVq3HhmmUhc82rIDLyE2bnsXbKHHAs8="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19_1536387370123_0.6278083769475489"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-xoj37x2QzAIBUlLWpIO4mNfYEGSzpKi/8bbRmPzCCtbF3ldW0SP6TT0XKRcGc/JanpRCMM9VcUPY+Oaku8QuCQ==","shasum":"6e736f6174302d346a5c2863a8bdf360e62f53fd","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7.tgz","fileCount":49,"unpackedSize":356919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk3DECRA9TVsSAnZWagAAHKwP/3t2zehKT+tWZtLk733u\ny5xxZI9zFCoNgbbfcYrNSNxEdTXp/r0btTdDREFMln0nBVZpSXjgBBzzhvY/\nbLPj2BALiunulRQpbKZPfkNiozUFQkKEGmxt5w+RP8e92YEQtEGFk1JZzteb\n04hL8UFTOebABjhGBc9QOpyVLIqQ3icFmDKnciWy85AO0LDAh3xx0IogCLCG\n5xKL3M8m6EaHtvQFNaxW8aSV9RoNWGeXF1wwkRlSV0wynLIG9vNTecz918xE\nDCuGMfixtZzz1itz49khj8VtTTrXjLzjOuGK9p0Si+0vIHd2Pc2jcAfza+5G\nRfva6ia9Oz2MksywaxTx9rMzoehT1i1fuLFOFJeTeqtvLisPrESdREV8IqgO\nEmRjkMg2/DwvUIjeQeva9kYL1Wfl9zJ/GlE6G2PwFaeUcRMwG0lsDXXnAH83\nv6Tv07+Tn6IU8yDBDu7krlqjaq6F9oU5mDy3/gaqLXJP2NWTv9UZ1MN+lemD\nYudAVffekQpEB+EyO/X9JX+emSmIlD0UJS49kDYc1Dh29pDRPm2z7BAOEI4n\ncWpV8YZciBfrLfIYPAsVWdQJQ5bvZMpaft+HUZ0dXwKM5xhfQ3nP0ZWVURnO\n44XulFoXT6czeR2mo+75VmKZRaPsJ0AZAAPQP+ejaZhkiA6xlHE6bzt+vwO0\nSuXu\r\n=8B4h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqUuRPmSFPInlofr2GkjqSYw2jAFqSI2vJFoFJ2IQH0QIhAMvouFVv+QyU13IBw3iHToREHhl3QJTEC4zRMfpI6/3x"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7_1536389315973_0.1745766817649772"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-QSxq85QgSWoDCJvI+ZOX5D+KAT79aCFme6hW2If4dY9ZjR0bSJ1ScdasPoCOBX2cY2wWmJTytAJFslvlxyL3CQ==","shasum":"f5431db71a2c2282421ffb89e5e1072905ed2212","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975.tgz","fileCount":49,"unpackedSize":360480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk9m4CRA9TVsSAnZWagAA7aEP/iD9LkiZ1A+TEnBxBvuP\nOWe9b3ZN1JXNLHMyCj97kwv0+tJOymNAQFn7tpc5QYXWhP6DHJuKLMxsW2QC\n2I/CHMrnRfbfvZq8YsWmI7JnZWcbljrlXGdZtITuEQeBETFV3vY/VDKlQvk1\nz0/XjLvRxsUlyog85PD3Cx/J8xJJqMzkTNkrPP97lU28rU6sNOV2ezN+lZAH\nIEsAsudPW/sUFAbw+Kmrs28hE3i1E1OvfzYF/4n3fTwM5sHeqty7XdGr/kCj\nndf7l+SubTvPz2+1MRKe10zQFKVlKeXW/g4CD+JnKoPIPb9C8Mmg4ypzwYBr\nVmzTS+wT8waZ6i8cvuVQ3VUURfa/1ICBKhmwsU+j5ZRJSUA0PHSkG8Eqhpcn\nb7OQKMTyp/qYZgTizPDFxvotH1kTyBMW9zL+80p8KR0y5/wErlyjSRe9dXbG\nQkmyMQWeKyQVW8j/GN7hq4RMkr5vWoQEfs2zrvcGlM0ERitro8lvs5MozVI2\n4Ayyl48sbHMRWT9AZGaZZAkOZElwrBhtNpvHrjEhLuTBxgBLBRJXvln8uUgX\nLphCcPvDilQrStiU/hHcX+DBxAI3KlhzGTRNST2FztX8qt/NMZ0VLcyBP95Y\nac1MfdBNAToKesqFuvYi7xBh0NW0FeJrbGJ3Rp5WvDG/UrFsbNCiOxQg8n8V\nYw7V\r\n=37Dx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOsDSPlfHU0hda8bhCWomDuUpGpFqQ2fPTkuFPGP8FLQIgAhFaNsQ6Zr3n3cuGZHS/zixurftFYqnGOp/tKnekWyw="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975_1536416183429_0.5150139360926647"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-AFmLhnIte+3sEGhOm6Xk8GTmIX18YvBcB4ffpoUlQob+sldQ0JrfVBjlqiinPQDjdFtU4ynZljozdtQj4JmDAQ==","shasum":"14f8351c3dc09f5ed3994a1413777bc87b570493","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3.tgz","fileCount":49,"unpackedSize":361642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblDjNCRA9TVsSAnZWagAAMHQP/0P33TKOKMHAEHV7lZII\nQZWFniS1vHk8JWkZj/T/6M6/+K3WtvJvKK5x1V/OQXWl5za/Fe/D62buKUeW\nhWb2POjH1AGednCmixnTzjYrnp/j8wznglYgZ4Yx8ZO6jat1QbyTy4IdAgVg\nbB5ZDXzTzBuD9gAHiYhJ+tFDOcVJ2PBNxgWZrREO8UJR9/9zRkK49bk1ZoPt\nB2j9CPOK8zO6KTvlizyO8QZ2VFNRYLi1uwvnnkbcenDDZAgZkIHKtaDWgGrY\n5/r1boHkcCtJlAV1yZHJ7+ODeHKlSfKoc/43E7C90CQEyL4rmBMhyP3HtEAJ\nni9oqEoH7JICb8gDySGR6VgB6X1cFdCd2a8gBOQx7kr8WY+v8UvN2xMVopxR\nikteNyrCL8RnZK7L0TM+qvRMAFJdVQOEFxDphxKRKkbnLYOZ1Z569wbyBBfV\nLEMNJ+QQLUt7QNv0q4wYY1FjUC7RCeQopIiat5zZtLFD/oQdWi338l4fMGo0\nAT8fSSai0nnC450k6cC9GSaX8nXyPWBFSP1hY+h0YLWozp6A/KxlWPaQUIsT\n/Jl2Q6CL7YKiVwoghVAZAyk8xvr0WM8GtJJoj9hlebQwkCon9ntKx1zBeIxO\nmkHZnvcYH3an2j2P5SSbs4DQ5f4FRBCxFYFn4Uw0Fc6bK5LKNAjugLvuYveW\nzCpu\r\n=3KBr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyvdsFnsJqpZk4gSpMjlXzxHRLxlg8/nsUqxZSD7dD2QIgOPxb+HJTIEyp08SvA4c5m1iQeDYFmPaJIBmRiHxAcr4="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3_1536440524736_0.06360822600727523"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85":{"name":"ng-bootstrap-form-validation","version":"2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-9rMVoGvUwcc03K20MYiQj3xxgXlEWU/XY6HhSFVsZOSlNPS2bKzhGM/nvQ3hJY15ZfcWqogsooQPbz44RNLWsA==","shasum":"f8946deb2a216d2eded8143da8e1fac3e5e45a05","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85.tgz","fileCount":49,"unpackedSize":361552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblGwsCRA9TVsSAnZWagAAOyIP/2QB+J8HcvvIvlQE56rA\nnuh6C/1fu3TZog5uvQReEd4PL5NIx8FTgtA1hyeRQPqHSVN0WYXc5HKw9xaw\nW0T4Yunl79m/5KmHAFu52zv1PVk8ik1K99w/cMqBKErHK4sQSVwG6Z8J3gye\nZPWnj5V6UNhMyEgDflojUG5YjgMKwGGFHStM4ht/zILKu4t50SIYwqoQdLlp\nqNF43lT7Ri98R67IBt4PQAFti1CcfTgvRo8UhsbRura1jDNhHRbnNmTpVxSm\nsW+U+YRE5mxs/1MqSZCpVEWyxOWe6qmQ5X42yYOuONiXwSRf6M9dYzdyRAkD\n5ESby1vR0TmxhQQg9zFU/wzG5LPKELVF2TjxarLzUi8yG1f0JxKZtIKSiG2b\nOYxRz+0VbEwuQnIQvRl8pSOjIXK/U4m9QhUbqeEfyl8KEEh4Iwp0+hu7N5BB\nFA0ZGXMejXHS5DEU6Ux7hghHoDj8XhSgoRqPDXFFdiMSvysSgHeET3vOMb5s\n07jo6hLDEaQgjLUyBoMm5NwEDa9F9ax2h2/6XNsL/47PfyB8egeT4nwvD11P\nspGSbvbfHE4beF0MxzdgRXyDeRlhUIUp8bdGgVYjIxXw2wZVEZZZHA4t5ey0\nrRe6b7MTcOyy2TirzI6Huk2K1MmE+tuixp+y3Z9HPB+Tm4fGYiOuAkuQuZE9\nODQH\r\n=IxTq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCWJ9k+wL+5KsKCid8/I36CKX9JAbTlNDJlRby5MN6ZAIhAPWZNEzOE38uVxPKZhK/idDv3uWqtB3It1hlyqugFFEX"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85_1536453675925_0.26076027552948267"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.0":{"name":"ng-bootstrap-form-validation","version":"3.0.0","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"_id":"ng-bootstrap-form-validation@3.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-V5yQlijSlWqUwq/PvDOjcp9IiJisrc/YC/15vslwPuYxtF9nB3p0ReNBhVL0zBdHDfsn9BkTNCQoYABZ9mcViQ==","shasum":"867a732a58024bd6517e6dcd5035dbbafbf20a3b","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.0.tgz","fileCount":49,"unpackedSize":361488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVTPCRA9TVsSAnZWagAAFSgP/i9AOjvcn7R1CfPl7djh\nR0eUwotd2ylei4twgjoPL3IJRNptYnSYaIn6/Ss1Dt19QZAlhoB/cKBZZJRx\nmxQdlfo5w1z4IOYO2TZo1Us5Ag4ii74wTwWqE7Y2XfpafsukxMYTpLXnbNiB\nnWDeJUiScpOp2L8VUCSVOXfiipIqnrYcOP8RtFi8Ka8xNEyoxIF86Y1c3608\nhVnwqZoNx5pZnVdsyvnm8B0WLrYo/ucJMx9XzyPItHjcT9RU1SckEvDYfYOl\ns2lHN3+A3qvSBIpDPUtss6pnzwHcMuzZSAHSGXVxQZxp0I3e9It17xgo2/RD\nGbV4D43xBcHNI8RvQSM+o11gpYwWaIkz+DSF4GyX+tbsyd3ZzMjloUBe5jOI\nZxsKDjv73P5EAOMad/xgimzDLDt2ABpAvYHMYUR0X/CR0VXxBLkh0Dxi1uJt\nZFKz/nqfnvvSWLzAYBwB7Wu7WZUsokGOrNddNFoQVFH8shkYK2oaMLx3jNKe\np8RlJ+gOS55xsM4pBh2jYWt+07FMABKmNzJ8dEgkeqHBixcebv7ZEZfJVlPf\nD6lty4Hn9LIEZ+3OdBdJMkchDCQCtTsFRXooJnQuy+4b7GqcAWEp8odJv631\navpwmoDF475s8WOwSboRZx/ZcuI5zyZdo9pMK0d/syE5JNWgOqQsSVA+ToM+\nPD7h\r\n=3sKi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdd+S+unlp0Z22HS3KQhR03bjYdh2HJIGTF6cvE5wvKgIhAO79n81w0h9V49LWKwdRSbacrnVnVRN+UGq5bG4ymwy1"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.0_1536513231274_0.8633942442590281"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a":{"name":"ng-bootstrap-form-validation","version":"3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"ERROR: No README data found!","_id":"ng-bootstrap-form-validation@3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-oRRicldo8oKP0vmI3UJjNwob4VH87suX8W3l8AhKAOPuia4aWApNxTCnntVxuzWWHFi8ibaJWxbIU7brBTCZxA==","shasum":"e98244b016dbf501d971f7053f59312a62423b8e","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a.tgz","fileCount":49,"unpackedSize":361552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVVNCRA9TVsSAnZWagAAA+oQAIL6RscYOLlQ3KTx2Igo\nsVkTcH7+GIlssWhRVMgHc7XmsxEk5mlcCUZeBJJC15AGL4NgBWtxDIC3s1n2\nZZZhXDuTPOnTlsoukVp6OOJuKMc7sNIXVlmkoqR8Y+OaD9ayjiFqQWpawFMs\nqk7gON4paU8NhYruu3NooigZpTwT174XXEWD3DgEIaJxCb9ztaGn0LDRg8P9\nprNX8kd39H9FaaQC052Sb4cSFLGqCMQCz7UOTaLNi2h3uM0/57U3RxDJQFUd\n4q5zLlnRRVYxob+rLte2B5yvEMUwL6D2p8AZ2GGH3TgyMUA5Lu8bnTO4Zxzy\nVqc6pwX2Ujc3O5BKc9DR/hx8lKh9bA2K39KcXFUw70NfDOuP/a8b7R+catgL\nSSuddZ+7o2GN0tNJ/GBNxJXTQbjLU1rOiOwCe3fCF2n4nQVWVW7wzvQbTpdk\nGWmoevDY/9KQ47dj+/xX1CBeDrn3XVpES0UsTQw1h86hUi5FfYt/rhbmcBHC\nNWu/xHD7SWIzFidytg3tb+T7A8UyVtBo8dDDX7EQpS1++/mSaRMFnBmj4yrY\nCyiEbb1ODPfj32AGfy2E3JVYir3v6siQU1FrSF9b0sFRSmyo+H4H4RNKOu95\n5gSQ9Pde4VUOjQMUGkza4sI4I0H75jtcmJAGHLCI6frYZc3fgwYCrF96jRN0\nXBH7\r\n=fOIn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICRfJZSUHmLh8uAveXAHoiaQdqKF9/mvuDBmx41AJkmnAiEA5cLaD3QTuk98kM3vLTWCnLePpEwFIL+M+umjsX4v5Do="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a_1536513356954_0.7062599172594859"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.1":{"name":"ng-bootstrap-form-validation","version":"3.0.1","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"description":"An Angular module that makes Bootstrap form validation easy.","_id":"ng-bootstrap-form-validation@3.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-qRMpoebwcFu2s4s8nwGQNlQktw6eb1oz+KQUAFBpBTjV0dzDgo3qy+tvmaHMTy6WXat/MZ+qtoxPZDCQ10tK1A==","shasum":"2588eba9a7bddfd68749084321fdffd3ecccc4dd","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.1.tgz","fileCount":50,"unpackedSize":371418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVb0CRA9TVsSAnZWagAA544QAJN13pM0EG5LI+mEA8AR\nwukzp3FeXyUqAs89z3gG3S3DDDIdvOrPu/MjnxOE0oUajDXXWWltJHnh1C6f\n8JB33IzE+3axIybiMTwvg0SxCdQ9d5OkJP/HfF96lpOuOQ8z0u4EeYkSZAZV\nDTnHwslZCQSclXkmrW30xb0cAiH5mbmuqPn5CadVggUI6pS+ncWZohPB2Fsl\nhH4FXNhfpjriL+MrXDSX0grnecsdlFZifN76hqeK7VvGna8PVTelT3VqSGkI\nvhzEzMkdAtMKThjQKZ8Z49nGwiRhnKxEWsZbuCvDEPD/HcKH9SIB5kDa+Nlj\nWadHThrMZafQp2Ly5UI6o676+fIH2tqjCbBwQqq+C+Nhz307fMyMhQe5Nz7T\nyPGI7QYxxMZlTARwLBVT6artWcHwy6UVd7ikW6r8TkYaovp+ZnnuPpcu78NF\nj1lR5ny8wmrkCY+BTlKQdKv38KBNcXN1l9bAB77CDdOboZQmDIVqeGxBvPYu\nOQgub9EznstpxSSqCUr13yhpA4aMbdDCBa3VCYRRja0F4aQMUKomtDo8UqbH\nfqm3d6B3P9tTwfSvYrn+xARVd5VCty1Jl/J7h4VAKdGUHVEigBuCa1wpP6au\nUaYo+sKrBy5x1xupHsdLaumCQDVvqLGdOZ5meCVY9466t3TPjAdLjW730nwQ\nmQFZ\r\n=AXC7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfwLrM4GIxxhIxh3U90zaG9ZPpXYnnDn3BRGAIo9FgGwIgR6zgrEt3OyorTIaTKmqOg9nDhMG6lZWfju6DMGNz2jY="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.1_1536513779834_0.40621406135185256"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6":{"name":"ng-bootstrap-form-validation","version":"3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","_id":"ng-bootstrap-form-validation@3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-T5N4VIF1T/6FGbRhYUnrrAmtMHicXuP7iYnzrqkqQGjbmaCrx4+D6tYfVXXpCGofsUw9Y2kGBH9D/DZg4moD7Q==","shasum":"fc84d58ee0146b74bdc76642dbe19c54b8b6e44b","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6.tgz","fileCount":50,"unpackedSize":371482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVdWCRA9TVsSAnZWagAAQV0P/jh+A8GaN+3FySVeNFSk\n05D4epGlOUJb1WVhbytKgVafcMcWwER+c/iIKzR/mG1g06VJpVbXBCSaqhd7\ncxgh2zMAnaU8ikpQdJHN8k2Od1zZ/6moZmk/rwTgoW54Hc+sx105Ao8+Nzd/\nzDpNqNwiiuJd931J2wzz8njWs7PzK13z9XU/BiLQFd4Y6zLVPNeKOA8Cso12\nbSwHbqvak9GjuO9x5Gp1fC+g8p8RPpi+fPydR9XZv/IHj3mfzWqXG2HMna3D\nSZ4JgPRpqYPEbpsdyTSpbBVekmCQTItNaSeNRIf3S3V/zYFAzsxJcZIqbn0b\njXpZ8MF1Bu5XzTWgiAh1bCJFQpaXRJ/H8pHR5FZ2ZD5MPy/47yPDDkp1ZQiK\n9w+YpdtJ8zS7nb6tNLjOg7OWoDHhIokgAqU+sVr2a1Ljx3S7qDtNrAKdQP+d\nJE24gLiYIl+NTtSxrBWsdFHCH+jcZsiVoMUdC3jRYOGM6Q8SGSnGE8gk7oGh\naVZDsuxUfHmi4GRsXXDdzU8OvsG4nwJfIfwNNMGOCuz2MLy91vJ96/Z9MsT3\nu64Rflo2RVVMsyrEP5dIzOUBwN0CHjfOlhLLvPQQMNK6XDQghcCecOysIFIv\nMbE6pE2axZyFdk8c31SOcOrO1vWcRTawlIuPkyo86RqdNmDHJk/rrtGOHYdF\n66sb\r\n=nrXI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDPRaIeArpS0h3u80o37LdOZE3cITp/6vstlsMN/+15gIgBvD0V+KrFLAMMHlely3RJgTOs7XOnRvMPxvUc/abT3U="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6_1536513877721_0.5574501882807807"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.2":{"name":"ng-bootstrap-form-validation","version":"3.0.2","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@3.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-OuFBzXnnMbNykNpqtw9sjTOC83Mur2PLV5C8BYxklYfayXC7PfIbV4IEYa/3m0ThgteTp83PvfgUm+yyrtqe9g==","shasum":"d3c7fc49b8fbf674b83dc6ee4f5885e5eead8e79","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.2.tgz","fileCount":50,"unpackedSize":371593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVmDCRA9TVsSAnZWagAAMyIP+gNYeY38Ypy7sUoU9biD\n5tWo9TFMK4avqXaHuJd/GhCsSTavzsne65Y5VMS2v0CI4h3IxUXl9Ow9HezM\nfKx+PU6lMpSsiutlnD0XJjQF7poJNrzUyJJQxwyGwpTGENTb69HQKesfrwB8\nQczpOo6kv8C4ip0nJyHRrA0HBih+6jTp4ToT22qC84iYVy5IXBFpWAcbwQb9\nMxy7Fj/vAxUPrrNVdfGsTgsVQMT9tFVIJR77ghHn0EJqGaU6UQyjFJ4XQbAJ\nG6tpR40qbmQFdSHzwCzhsd0zPWNQUohnzprgCI8iPZfWXnEnR6/JoOCSkUJ3\nR2IvZKexUKmpaGwN+lBEcO4Uc7/giBC9QEKqQbYfYcGLTk1PNuSxTxJ6axR3\nXhobclDDEsY5bOL0xfZLh+16LIfJnJR+NeUVdZq9uuKFIsip/sBi5Z19I2J5\nfZK0A2eY85ndCiUck4QojvgsSSxzqqnmqubMD+73HiL+Qw7rwGIRjnLOERxn\nLTTwVcvcPo3GScNOR7dwNO7bj4+hI/5B3AG6lhbdwj7nL7aVYUgBiFgvR2By\nMjcBZCX3aLrd0cSBLttZyAgFmCFqRN5PWjbAZJQDSrl5zrJpJdI2LpLpRLne\nOaRt9IlNl+1diPNmheiyOztKAogrgA7C25tNC1TfhtD22goBzc4ZqjcorBYX\nDh+E\r\n=1usM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPv52J1EkWFrFPspffa15KzVRt+Jo1dXDI8hQDkKi2oAIgX+XNEm2LVZX+SNrx8u0LA2+5D+xbBD6UXBmGQVVDrz8="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.2_1536514435185_0.051280947579231295"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.3":{"name":"ng-bootstrap-form-validation","version":"3.0.3","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@3.0.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-snLFhG5B0YNCFCtt1BO/aiClQtRCp4g+Mp4MEvONQXTazZs8PQf1LvNgdEJfJXw7S2n03CiaQu5XNi8kICfbDA==","shasum":"6cfdd4f633c65273809b3b6f118741f70e8b0610","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.3.tgz","fileCount":50,"unpackedSize":371801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVqfCRA9TVsSAnZWagAA/sAP/1sPGcBXv0NPKcdgEzQ1\nE84wI841rxeAYob8s2qtpFzxXzeHGE9vYV+dtyX+PDkJpiLj0iHG/V1VuZ7k\nUQfKkPdQgUduv1nSvT2tWETsa8KuMwCd9+H5hN5Ic/hNvmv0TWGjTdrrBvED\n8znkuNpYZy30rHxzbbD/n5I8gBuyoSOR3yXz3drEre0wdwp+qLQzzD1N7LRN\nKoTK4erGg12HoKDsxG53kLX2sAnt9sdiY7YDExFqJN1Sx9y54R8XeTxmnywN\n0427SIG5yQhhjCuIcIeu7ir0S12vfzvrSsR+b9yH1DujM5dNT/DIKwemY9Yr\n3SXz764OsOAeAElUx69uXEF4HhLpDUOfZsfM368YqN+p+ChzFNUAxwY1SQFm\n2FpGdF3a/YYu5WErgWHj4eYkIDLf3ak18FjjO3rVxYIzGOtE+ubj8I/yqNmg\nM3p/kUHakZT2pSmqxDujGhyjh1FUTH+f2ZpKG4pdv+5oCqOvA3KzJ43TeLg0\nrGSw9jfCDREzzswxXK+HxsOkIZsIDRPrySonBoDUc+AZlNhZIVrNIy2QeUWM\nlNZmBeWhkY0BGSGr0M/DCYZvIXh04R1y4Nqlqe2ChsmFzLrjjH2qzStJxQBb\n/hCArMCTIlM2XFWGIuwKRoLiIsE0XkO2uXftVfdPogG3sBsPpZ7lSlKxDbrk\nwEcS\r\n=2aSg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFOqX4+xoGEjxLYm1eoNZGFE7IY4XHLRuab0tEmxT95QIgZBdvlSYStbFNuQEHy4aJQm5asvHAR3wc6OPFFo24NT8="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.3_1536514718421_0.03784029757887719"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c":{"name":"ng-bootstrap-form-validation","version":"3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v3.0.0 is out and added support for Bootstrap 4! There are some small breaking changes. [View release notes for details](https://github.com/third774/ng-bootstrap-form-validation/releases/tag/v3.0.0)*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-Qh0kTVhY/b+lasQgcQlVXHWmA39UT3y2xsEMcVthpLAir0MkWuIftv5nD8GPQPjLSULx8Zm/ER3SrMmmd1fZTQ==","shasum":"5025de3a2ec1e05aa3c26b6daad55140a74495cb","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c.tgz","fileCount":50,"unpackedSize":371865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblVuPCRA9TVsSAnZWagAAJtMP/3Ul6dOJzad8cWMfoTbD\nDK6Jgfpx5vuFdXyapYFPFwmzNZ1yqMO82kRxmhlOBwSwGoQOZQxbHA5GCKJo\nXtZfaYBODJmxMCCnyn3Rx0wJcsH7GFlGfA+hauJexUl863EcUUK+dE6jtGdv\naHC5P+pb4vNIK0Nqj7OL+mwmKwQJJkaI6EuchzgpWRxQ2yjC4C0C5Kr9S4wm\nddJdyQ36vtttRiPy0ml+z1kDr6gwF6JaiAfgRlYm6Ub3IQMjo91ihNjrq+7w\nvHI0+AE9YdT8/M4H+TswcdJz3SY/AwS7fQScFzxHbROx7/j8QugIEKVoiXtg\n02CTpliJejQRkFp6roig9NMrHpvzyWXRQrGoHy3OJ1PZ9KrFOIVFHKWL/5+I\nnRj0qlfVchFaPWdUTTJaq7TBzoeECjeVJMbkvQkKBZSz1ZTJINrZsRdacFFJ\ndEYYHtQov2tC8wvWUB1VQjojwYl2ux074ljMneSGeArD+i9pE5ct+4jCVG0G\nRnEEhPdl12PukwQuPIX80rmy6yMqAx15O/OdGeaD4ahNynAehhzW3yx9ChCB\ng4TNd23TVY7Fo5B7Rgq2MMWeUpcHxuka6QRDltw1S1B1ZP/bSmbUVwZwgzVN\npuEWp1tsLvOdnpIPs8z7OtGmj/e7NWRL+ZXkCr2109Hmsrg2EvxOJ2monNbK\nguD7\r\n=AfJq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUS2UX8+8KChkhHO7fsk2U+7EbpfKH7I1EwWFK87bk4AIgDuCXWzf6xIbMadUc9yE3fRmMAIYbNd6QJ9LcCU9Df5E="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c_1536514959153_0.1544525421592431"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b":{"name":"ng-bootstrap-form-validation","version":"3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v3.0.0 is out and added support for Bootstrap 4! There are some small breaking changes. [View release notes for details](https://github.com/third774/ng-bootstrap-form-validation/releases/tag/v3.0.0)*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-R0srS2zlH6LFo1ZjP9Pd2uHWB8fh4TL7NaIWPWmUurHdRQlxJ5Ypg6HAIemrCoKyRlxpKa4xVV0Nww0Ha/5ZUw==","shasum":"249dc5e08b75225c2ed14b167ca077172c13c17d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b.tgz","fileCount":50,"unpackedSize":372026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvKVOCRA9TVsSAnZWagAAji8QAKB29SLsRXvcrbV6sw0B\nuSYxwez74xyS/TCliaSh2HyakDQfTVsnq5t6XA2KbTY/If1L+H0K7WvWu9tv\n009Syc6CwyvV7fnpy2RoWPVgQvgvdrEXojy6LWarkluU96a37Ri6cR1kabz7\nugsXi6o5mwUqRT+MibwBInhpA1l6MgmkxGEIx+DexfpFBrKmuA9IMoqyM2n4\nSY+LKHAw7JITtlURbo7vPAQw4Xb3R5SvlAyHHF++pKyun/wXO4NDivI8g5N2\nJX4gvStFFfW/43dH1t+DLg7gpmneKIppa8La5MDD/ZtHkhc77DDMKY/HxJzm\nWT0Q/cspyK3I6DgG/TrVcjBiE5vx5QRj8CbazxWP7IrFWrVgp25zo7svMtXP\nm77RbkU630bg1DddW+UqhzJDpzsfIHg6r/7zZ8U6nPAqyef2uJnRz5ir3DwS\nUROMNw6rjN0hDVjPYgfImlapBnWeP6NRt09sUJgMJYSzXiCOZG0ZBEQuyuwX\nfcsc7Z7149tTQfbo0TTY/r/EatUzTK7C8nGhvOhQAqFWjG32VdfqqYDEPH4v\nzfFZJEvlJ27VqQ89WJiKm14dhWRrCOeCTyNUDb/wRCy0ttaW50hKPMxXEzQQ\nkX+KdrepGKZFdWUw44wEk+R48heQZ/G2nxB8jzQc9W2STyQrutFv3WE+1Azg\n3kW8\r\n=ACyb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXsQiSt3Tw9/WgkKTOX1a+IyvIFgHRxBXFgaKkhI2hCwIhAMtvjgfxX+ZJBIM30c5OtJmZ91dEQJzmi94ulQjI0vUg"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b_1555866958031_0.8658123147321168"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.0":{"name":"ng-bootstrap-form-validation","version":"4.0.0","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@4.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-Whoc9To21hKMtI+yZRVsS19TJMKd5OFVsxJS42LvcOls/uNQBT7LYmS3CGWlwDSGOo85utx3hDHuGzjb78AIoA==","shasum":"0f83816db9d462d0365f05721e7c677218ec4453","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-4.0.0.tgz","fileCount":50,"unpackedSize":371962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvKV7CRA9TVsSAnZWagAAVr0P/3HrJNe/XJ4OonC92an6\nOwyJvYR/CipeCWvSVs14Xj9GzuGiVWQ7k5n+3pDOv5TQ8u9Eaz25WR4yg8DW\ni9bItP7pVuc3UEHAJAxeuj5riPrO1Gn8fdECJPuBFbahPvHkBRjc/jx93xyW\n2M0sIYMYX7OhIJaW/xWIlEPIcLREnlEUW9/7fBqB4agQa1aWjWwPWLYszvji\nrfZeqYccmtwBLiFMtauPHHvC37qAzk88VcV++ZBQzfR8IMTjUaMv7P11yX3w\n5EgbmkCwNqH2aST4EvJjlWmTb4xVvDvZuP4d/1swK47WIDbEttJcuiQiQzFK\nay01hirHITqCg8L1Q+ddD+VQDBWzFVycqp9VGtAzFY9kiq4bYez1u33dZUte\naxNgH1vmc61IAwZwomqVfU4cG06QhdAz5DxnPUf8SDg2QsMDVVwiOyu+ASX0\nk4n2VZTLhedT1jWCfhr3AWP3bQgIvBqQUmg/ojEPTz6z6kfSCiiVYWVlTg0q\n6eDMJb0874xsXz9GhSFmXsBk8ABVDxNOwfNBi/E/j8h0zFtVKkdNmiRbTjYt\nH6p4o0QCsxdB8Q33ghy4Brq/YjcETBvNr7z0LjzJflKytxDXJWrl0j/g5Shd\nYbKJXwU16ODAwW4xo+MTCgXfbKG2NPlf4TPpM16ssY+BsTsU4Hho7tk8gRrc\nsQgf\r\n=zAgq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3ReC2QoJecgHhaHj6xT+N/FwIa3+W5PEdHKirjAXxtgIhAKyjrz7umAO1/70Fq3fBzNLJp0kkCCdLaJf2pc3v6wRh"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_4.0.0_1555867002391_0.16635895771973797"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448":{"name":"ng-bootstrap-form-validation","version":"4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448","peerDependencies":{"@angular/common":"^6.0.0-rc.0 || ^6.0.0","@angular/core":"^6.0.0-rc.0 || ^6.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v3.0.0 is out and added support for Bootstrap 4! There are some small breaking changes. [View release notes for details](https://github.com/third774/ng-bootstrap-form-validation/releases/tag/v3.0.0)*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"dist":{"integrity":"sha512-/TrhmCCdeeRx4w0R5giO7QhVS41t0uZpQGV93k1v/fbHa25Nrllj+RxErWqQRPObP6s67tFLr0Q6gA0sQDm0yw==","shasum":"dd9a51b10b3ca5162710c7ec0135d303bdfa4507","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448.tgz","fileCount":50,"unpackedSize":372026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvKWGCRA9TVsSAnZWagAAJZ4P/R5lyaAHFZGDIZTk2G3c\nhBGqneOEp8VPwDWXYDEjfjynXQ3ZIeZpu5KTz6O3V9G9bMNW5QY8pSasaTHu\nfZkk3CMwncevM/E0+qeZqjES9QG4MqEMUW/cD+bJbdChbFc+ykarl+KL/Xc1\np9bm8OhKZq5PkVlq/IRWweeBChok8YcopKvnOR/RM/Gul+fDkyB1O4szoEF8\ni33jzLbXCj03MZiHsVW4KVsO297YMIq16fKcBhOoWXwQooI3aMZqk9xYvgtF\n6m1tQMxPSym8hPhRAUN0HIFsxGjneHEOJ+/cAzCoEodBMNah9lAWL1aI8dPv\nfC94jD3mOH/mXUErL3CwLClbVLrrww2P30S6hGk5WmmX3jLkpGDfrEkwAF20\nCwYEoBns2kcrBs2C/lzLHtqOnHzdmWSBk+yxWegdpq1dT6u9NUdxmIkKzTuc\nl/5rJlUI+46G1E4Bp70i+WtQ1X6SNejEnVNWQgGwDm7//hzq5VRatB+mBegt\nPaZb1HQ8oMWc2cydwyMbPfApVDbjmlQmLdZJbXFedZhU5xL+4gIbbXZfSZ+o\ndHOBF2Z1pI5Lw1lzVITjQnlMvcDsm8VgwwGYJIJamflbCvQeJqIrBiLoEa1X\nWC+DIEUNfmA2Z/o7xsOgNn1tgjQuKpWsUamD/X4gxmE2k/f9TqETlyCUUXMP\nDzkb\r\n=FZZU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCRdXwNIA2+a9xApN6s2A9bMynDgM5XfIuXxuYxOABxgIgToRm/OU52fu1SPdsA0+6r2dRgEjKFbtDgJSAJb9gFYo="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448_1555867014194_0.8095925322371322"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f":{"name":"ng-bootstrap-form-validation","version":"5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^8.0.0","@angular/core":"^8.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v5.0.0 is out and supports Angular 8!*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MGyU01iIK4gPkXHZLSIhGtuExT5QgIgHnWxWidF1JeU5AfzKJqsZninDMKeUfXUeF9erIZNDO3rmyATD7/uvEw==","shasum":"ffc517410ef965bbd4de985d5f7c2fd987155123","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f.tgz","fileCount":50,"unpackedSize":327847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg/MUCRA9TVsSAnZWagAAeWEP/1tJwmGPkWZe4Q+ISNtb\nIEtTOWQthebX/Uxc8gFlfUx48fy64UM0hFKW3iG6vybvqblLDMOrui0R1zbN\nf606qbWWg2h6HSC4o2WgTgq8u6ORtIbYsYR0S6GOlO5hGX6ciomKA+uL7Raa\nntUtDbrwa939xIjtFs+HLLWt9miByCGp8iAmzcFXmSl7s8vQSaHFoH6Adoji\nruti6A7Vhi0AoSNqjZmOe+H7sGo7WQsXXMTyP5wPvKdSoM56QLQqhlAZq7P2\nH6QVWwrBLIJTGBE1JRzxm5Mp/lkEqJTi0t1y5gTkE6daiMMs6lwpPHzVVUVw\nS4pU42MWSBP5RS1ioa5HIr9ocFgqf5BkdzuJdUq6KvaaP4Hy2be2sw7p12Q7\nEeqevVuSTH0akmINP1bblOyYD28r01CebIuJyzh+R4ole5sv46NUcpWpVMWj\nxD6fFgoCN9Inm1L79PsuF8vxvs/059QtxXwqjP3rgEP1WnS2Pule3YgvTQqc\nh2eFNHlrnb0pVJQ9/dIVXFX8kbQg6l1scLIgL+rRuOxQg/U2B0+D/cR4+RaC\n0iFVuHpYYEbyQJocqT4RjLkX4gnEZdOyfFY6sA/gRmlTA5hl3o+kXXTtVn0x\nOgwruTOkCR5y1FcqPFGKfhxiIzm97fKd4alQ4yAAzKVeL46/b71br4OAGpD+\nohZa\r\n=qS1M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEc52DdiDAtaivPOgYoRH9lL6EkRHxr/Lc57sawP3X8cAiEAzAdXkG7Xt+AsrQnk7Iju+0hIV48jVX3VeH/IMjZdoQ4="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f_1568928531473_0.3982730510887269"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.0.0":{"name":"ng-bootstrap-form-validation","version":"5.0.0","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^8.0.0","@angular/core":"^8.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.9.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@5.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Q1Dp5GmURsxwoGR5GonndhPbrArh+yRmV9yhJh0U8a6ojvRXN/1vXafdhB1JhXFMZXTayREJshUZ7GMI0ca26g==","shasum":"05fd370bf2ee5e34d29c1daaaa105761a3317c10","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-5.0.0.tgz","fileCount":50,"unpackedSize":327783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg/wdCRA9TVsSAnZWagAAdlsP/1SKlBILYw9Qqo2lcc9X\nSBvQE388XZ/w/KpPmkJR41UEvKGFiudDoqTOXaiKDB3VQhdyTVzV5ajhNhT8\nM0pKFzK6gRalRMYFI5QaxkOGE6zf1GwSG4hS7fwBsBuB6u1oSsaaDUsc7/x/\nakMlewRFO9NbWUHvAP7w0DfhcNYArfPe5EeNBeRNLW5+OuPmlY/TGTvRNNBQ\nZ9YDm7ZFRvl50k7/3HU93+qHYBTYH48yzy+5SQYSr8eLImdPRpvGrMrghFTF\nu0hsZ7QarG4KOUUYF1JcHX1CW2fbKgg+2lzBVVpFANdF2Edj25oQDyNd5MBh\n9BbP8QRteCEhZ7Jm/22v+eFbiXDWMlH1KyfEWiCdQs5Qv2IVJNhOsRcfyzkF\nOW22kyRwO7vOxeUUUErQg0oFw27ewKDkEz1UpUxw2xA1bNxsgXnUnm1v4sZ8\nKhMMpZVUYeIKQ4m/UBB8dE5xX2N+LtN4pZzrYaWywtx7XTrczb6qiYvIWjrg\nlwy+7yXDHbZA8NlVyk0m+NziLQ7SLr0T9XaNPsiPoazAM881BReKlx2WSGYw\nGSMNB2fqp26g66Q2u+zhVZ9INnQiySVdOfKJw9WLUOD8EQTen6+N0h7IohAC\nXLPYFAmxh+QAMihmdyN5agOPe7QMQ9Ya/2GDDJnxoVPm4wXfll1hrmhJ1kpt\nweao\r\n=LOLh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC522N5iHoUZpkw40hi/xltKNP4fHYcMNZnJC+b+8iPmQIhAKIJFBLHr9RTikqXlgBUJiFsA5SryywC08X07UbRStE9"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_5.0.0_1568930844710_0.5925363870789999"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df":{"name":"ng-bootstrap-form-validation","version":"9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^9.0.0","@angular/core":"^9.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v9.0.0 is out and supports Angular 9!*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lKegGJMvduwXEiTjlT35FtEV7turgyjK6jYRPU3yqpC+40mpsBGEhGwiD9/Ureai+C89abXkkXPIJCBsBaRcjw==","shasum":"040b371f0cdfba0753a0b153ae8d8fcbab4f6b7c","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df.tgz","fileCount":50,"unpackedSize":309815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjNH3CRA9TVsSAnZWagAAh8sP/iMl9S3yGw4AiwxgMf2B\nbW5hh7XhtvPDSRUZDqOIY0CcyxKOT3G7yAj/HSaqs1xEHs/RJmr0wTT7NQER\nJrOGD0tNKhpgCsv9SPuiqFVMwrmYO4Ke5vx5Q08+VXMNtIOIxqmCS8mW6EV6\n1Ml1C2Uir36hf8OO7iaqfPxA9S5Dtc0bxBHqKkwxwv4NoxOYbhCBIbrufveG\nDuzBebOS4ETAVHjlEY/A85OHtwFe1d/w2ig04o3ZfUBcnXtKdA7d1n7RX7DI\nF6MxlRW8gpV9BzyBdFFQ1qJRxcaaeSAcXv7OwckDB4DIA39v45K0Tyl9en6S\n89I37aRXsCFpJfvBz5gG3ox88b6QZIMKp8t1FA/6KKdWEiGpmJo1Axs1HAL/\nwF2oWZ0uKpLZC9sc0ZUXW4Un9WV2fyRTxoq7/CVyjoPVIK5eapJIHrL+OBTn\nh307eyHTkFzQwIzzYTdpR5O9rZKBIqplJ7VZCNVALOl8O7IBQpnuCOtMxBUd\nepMlVmJkNbWfkZF8wnXHY+qrAQGfQ8RZeqsVT4h7nKmYVJZNb4+Ety9qwaQW\nZWrp4zWcF6Yo012V3CzuCbGVNV8eUOy+MKPn9hi8S18P6ENggy6Rg19SQfdg\nAimZ2zbqCUaK4SqLtLR1tY8lL7ruWpIdSrAx6bvWEmXhroiEyeK9PKfGJhp6\n2iKD\r\n=JAfe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8DW+3RvQbGUsIbvPCc61froWaGmITneRSi0TdYuAa4QIhAPYydKbCYZLMiCtGNFjxqfUCEO+zxj00hjg9XBuPGlwG"}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df_1603064310632_0.059788858009872436"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"9.0.0":{"name":"ng-bootstrap-form-validation","version":"9.0.0","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^9.0.0","@angular/core":"^9.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@9.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-FYnvGXRwL+YBLSiGal3zG+pe0dwB7SOYIX7YHVl/JoMrk3HBq7Dz5mLMipXBpf124lNq5nicTYdeYmyLS6Yjfw==","shasum":"a2aa9c15ada9ec55352d15157a6420ba8ae4f15d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-9.0.0.tgz","fileCount":50,"unpackedSize":309751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmwUcCRA9TVsSAnZWagAAxEgQAKUj02F8m2N0/Q0fFp+2\nn+rLwQ7zukca4ZiYGfgVHHtntcolliPijAF1eYalw6GUafM7fXWZsaFtA7xZ\n555ZSyuiHz1JnAhbDs9dJiUBWLtkfq048k5ODDup8A115GgUh8uYoAAOscnW\nfRIM/kQ7GI3d3ftIrCx2Wy2j08zVa+2zNrHohk4zotQOrdlHuVUHUW8bA79f\n32lg7t1trTAXocZ8KKRguJgQRFgVjomwQ+skM3Md6qPJzqTPlZTxtvcxNpN4\nXIVipjJeJkpq8kcd83aorFaeqWkOwCig9ypdc5XFAewxk1mOTqV7IaLar1YH\n6zKZ2Yt1dQk8EdyOTJUrNMWAkxtxDZfLJ11E5tj/7MftHaWUuy+AfWqZiN2v\nFX1Bw77jgKfmyXZLdGJmdjlWw0i25xav5nYytLmR63TNWQzQWk1DUiXOLw4v\njZEA5fI2bIdBiqFYki0PGiYzM5ncFSI+sp4HzZweqH0kHCzo3oA69IDJmPXw\nYdfn2pTCr/yjImnG4eJ089eQpm6nfpfCJHxNeSYCbUzlsgSitzl4Ytpmyd9W\nHm3a46j8IK1wklym3rIY/SZozAGHFJKhdzsFmFrkCapoGFal5Pg+MepNsLHK\nmiGs1HC1eHoVVQI5K1Jkw8vOt8A5ql0XSW4EAt4z8JINQiQpd974BGG0qMOF\n5N4Q\r\n=fsId\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFHl7Daaxoa0MQ82wH2TDFwRq0FHi2EYb7IZ/wG9SMZKAiBlgERdzhOnRYvdKxb3lF0iJBP2TvHnVO0jMEVK2eg3FQ=="}]},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_9.0.0_1603994907518_0.41594106715714685"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474":{"name":"ng-bootstrap-form-validation","version":"9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^9.0.0","@angular/core":"^9.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v9.0.0 is out and supports Angular 9!*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BCNZGEjtjXW2ekfKWUBE2b1+oYzBbyNjtKGrB86lK/Uhy4921kGgqqTdxn33bBw1wf35BysPw+VEJqrFls5IxQ==","shasum":"5dc00422f1d9c2276d408c1cc68296fead26658c","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474.tgz","fileCount":50,"unpackedSize":310314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHBUJCRA9TVsSAnZWagAA1/oP/2opQZUXKDoMXBGANlRw\n/bwgSv7shGyiV9FxcBtDmcimBQrNpF8eSUi9Y55BtqwJ8E3qY5X5hKnjXZUM\neoPPEOaN48mfq5rcvYZxqkfzyY9YNJjkaWA57YE3bPkBCZkukSwZH2CqsAsy\nrqzFBGSrGeFQgcyvGVi8q7bdb+prFLrtaRIz74I7dWJ+YeEy00ICg2ikcZpj\nWJrvGyq69QzXdOJ8hQXvSQF5U4GYGebuLkZqAOmF4VWn6hB94MjsRpFQO/OD\n7GZ1uvM4dPk/V5A/gghdRK4jo6Oax5W2Ouj+VCv2HrHOKJU4Fm8j4owAfSrU\n+yHx+J5cYtjq5AnTI3anOLaccWgCYqy+gM3bd+LpVKsQylef+hGydnjZclLT\nHBWaXh0XGn0A2Whz5n/k9wpLK9sW3Lnb/3gPd7PwjRtTc4IOE90NThpTH8dk\nXV9OFn3oo4mSxkBTEU+nompW+A4+D+yd1SODw6m4LVdbPa4ZxBv8EE7LJtib\n3GRB0GJD0LTps3UJCzo1HyWKGtlQmhtbHpdJkfvC2vf05hEX3rZI0uvn9JwS\n5TQxoQQi6QIBSeTv4zxTn8xhENFJT/5NKFg6iNxBzw3zCwSMh3NmbSmlAo2w\n8+OPCMX/AGBIPjip1wSXBVCxtD7GSnl555xp5GDU7HZDJgWgUZph0DrkHN98\nR8Yo\r\n=L582\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfn53zSKebmNmiNyzhmhRtC9AaNHvtEeXqZqb1b8fnowIgcs14tHtVVTqxP8OKBcrMva6ofV0X/20eR06a7syByzQ="}]},"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474_1612453129095_0.11937099295367193"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079":{"name":"ng-bootstrap-form-validation","version":"9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^9.0.0","@angular/core":"^9.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v9.0.0 is out and supports Angular 9!*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pEisV9H6v1TxXmbL/1rAf0evyaz285v5hRTkgZda9MLFz3gSDb/UTjIjZ9mWIaVGs+NRXsl1v/gAdWIJrGSqmQ==","shasum":"90e3681d10ed2e3e9af19b7da904ddaf56d8e66d","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079.tgz","fileCount":50,"unpackedSize":310314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHC4yCRA9TVsSAnZWagAAXvoP/3S8FCQuV3BRukl9q7Rj\n6wB956fy13aMp5fLOoDtk6rjG6nBqwRdck9AsnAfvyZsHAgosbKwmgmEXj3+\nbziWvth79qA01PxYRi47qa1qczMRsj9SvgX9Bj7zeIwVGgZNZaDimfjjMGcL\nm+erF1wUYqKupqZFebR080zO7bgKUj94JfgUl2Arq8dlOEdE0s8Crha/ogIb\nR/W5622A1wPbD9v/KHhaNLAJ3kp6EzwUg3QITxcF5jU4Vc5sldR6oftUeS7I\njAg+wbB7canNbaNJyeb+8Cge/OV2ZQydyhUDZ5kRY71cremEVCqvkRAFLEq2\nod8yJmvPreYlTCj7cVkwLR1yd6Xupv3RDMVL7vrI45oYkIMaeIMA7wtlXIT6\nVr6CFFDm23cIh9EuldsOBb5McIfI0Kirog+Ib5SAQY5Pmh1Iij7cJgoCLF8s\nWfxpbtrx7vbLxR/Iv30a7w/rdHWLHHJ07xgL1ZBjTG4WCzO8xACJ5+AjJIEf\nHH1sUOsgrbJyC1P/khd+NP8QCfS3uz240fsMhuHQUEAsq3zkoLuUUGIaLIHR\nQZTl7OnWKdwxw53wXpJU+/zm08OyjkylQPuGrCFThdZsXVNcHreuRrJNtY6z\nWtkMBq28hutQEBDkguAsdLMQPK5GeJsoBrgjZkXmYvyPlqv3HtBqvN4t2GrN\nskdP\r\n=TyNh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqb0s99xQIYRnOuEatqLE8c/YPFC6ygWRdESKzMllOIAiEAujCcak3yWkVjun1mkebdQdeXk6tV2qcINWo8Z5fuIno="}]},"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079_1612459570171_0.6222689201170721"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"9.0.1":{"name":"ng-bootstrap-form-validation","version":"9.0.1","engine":{"node":">=10.0.0"},"peerDependencies":{"@angular/common":"^9.0.0","@angular/core":"^9.0.0"},"main":"bundles/ng-bootstrap-form-validation.umd.js","module":"fesm5/ng-bootstrap-form-validation.js","es2015":"fesm2015/ng-bootstrap-form-validation.js","esm5":"esm5/ng-bootstrap-form-validation.js","esm2015":"esm2015/ng-bootstrap-form-validation.js","fesm5":"fesm5/ng-bootstrap-form-validation.js","fesm2015":"fesm2015/ng-bootstrap-form-validation.js","typings":"ng-bootstrap-form-validation.d.ts","metadata":"ng-bootstrap-form-validation.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"keywords":["angular","bootstrap","form","validation"],"description":"An Angular module that makes Bootstrap form validation easy.","bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"},"homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","_id":"ng-bootstrap-form-validation@9.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3Tu4q3ojqPB+H5cRN6ol/xMpTGBXLkwbJbz/1cRYxEaYkXZdtrkQyyIoFOx3avqduKzxwQ6OXR3+ygWhxuxP/A==","shasum":"ddc30210f06a4a6de2c3c12ef34f71fd80a96f63","tarball":"https://registry.npmjs.org/ng-bootstrap-form-validation/-/ng-bootstrap-form-validation-9.0.1.tgz","fileCount":50,"unpackedSize":310250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHD4FCRA9TVsSAnZWagAACdIP/Rd4vAttLIMxlU51LbW7\nqS8kMCa0ANN4hHKiQ27t4fz2pwdIK/Fs/BOkDBLOiEaxtc/X9ob3JBvKlnmc\nHS5TES0b6cGE8L2pwPWcGyVptzaD6+RdqielKiu3lbFTQMnMEDBpJo54eZX7\nD55UwzXdiurCQiPJcf61lzbDAqVMVvD5n9uJ1NOlt0u2ILCXZTmQgxhOj2t4\ngKKxRNKG1eJeOuBRHJkzlfvNtPIl99e7vqMZlCp+ZjtzLMB3RwRyJdoFsVmS\np9jxCZ+Namh1fp5/GfLsKVd1BcuZS2BrmdRXF2yGZfnfiGnSLB3RuKeyc2uc\ndRyjq6bHSlbW4WRWZZwwpmjDfnl4GWmfN2zHYXoQjhvFWBAax5/G16OrxBNb\ncQOX0FMSYsu5DxSw2WfUtxGUZHEO6712na1uuvyMybrh9v0ggW8FHuYiv2UU\nXkoI0Vum1pMdrF92YzuOSHHfMQWS1RDwsNi7QrJVz9Vd761hEen3ir948o9O\nRqRpyMmt/WJE41bT6P8FclaGPB69/apZgAd0W/LRHOheKB62ckDYRrAHOXUG\ns9TVXKpF2Qg5gje5aVzlGhr21Wpit0q2Xcmfj3Kw872x3QAj5geu1wgdXhNo\nUa5Zu99omgF7+VNsNNPZil4oH1S6EoE0gezZP+O1MElZOsRl45HOaBBcauWv\nHxOE\r\n=PgjX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHNwo+U441Y9WHAJikgm7JsAwkrfOHR2mJcXKoA/tq63AiBHaI+3zMMn4n4a/faCE8fk65MH6tEOCKIxTa3yBN8Arg=="}]},"_npmUser":{"name":"third774","email":"kevin.kipp@gmail.com"},"directories":{},"maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ng-bootstrap-form-validation_9.0.1_1612463620420_0.909460163928639"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"readme":"# ng-bootstrap-form-validation\n\nAn Angular module that makes Bootstrap form validation easy.\n\n[![Build Status](https://travis-ci.org/third774/ng-bootstrap-form-validation.svg?branch=master)](https://travis-ci.org/third774/ng-bootstrap-form-validation)\n[![Dependencies](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)](https://david-dm.org/third774/ng-bootstrap-form-validation.svg)\n[![npm downloads](https://img.shields.io/npm/dm/ng-bootstrap-form-validation.svg)](http://npm-stat.com/charts.html?package=ng-bootstrap-form-validation)\n\nCheck out [the demo](https://third774.github.io/ng-bootstrap-form-validation)!\n\n*Note: v9.0.0 is out and supports Angular 9!*\n\n## Install\n\n1) Install by running `npm install ng-bootstrap-form-validation --save`\n\n2) Add `NgBootstrapFormValidationModule.forRoot()` to your `app.module.ts` imports:\n\n```ts\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule} from '@angular/forms';\nimport { AppComponent } from './app.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot()\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n3) Add `NgBootstrapFormValidationModule` to other modules in your application:\n\n```ts\nimport { NgModule } from '@angular/core';\nimport { OtherComponent } from './other.component';\n\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    OtherComponent\n  ],\n  imports: [\n    NgBootstrapFormValidationModule\n  ]\n})\nexport class OtherModule { }\n```\n\n**Note:**\nIf you are only using a single (`app`) module, then you will need to import both:\n\n```ts\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    ...\n    NgBootstrapFormValidationModule.forRoot(),\n    NgBootstrapFormValidationModule\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n```\n\n## Basics\n\n### Default Errors\n\nBy default, the validators found on the `Validators` class from `@angular/forms` module are handled for you out of the box. All you need to do is import the module.\n\n### Usage\nng-bootstrap-form-validation works by using the `form-group` Bootstrap class on your divs as component selector, and projecting the content into a component which handles form validation feedback for you.\n\nThe `has-error` and `has-success` classes are automatically added or removed to your `form-group` based on whether or not the input is valid, and is both `touched` and `dirty`.\n\nValidation messages appear when an input is `dirty`, `touched`, and has errors.\n\nSubmitting the form will iterate over all controls and mark them as `touched` and `dirty` to provide feedback to the user. Additionally, there is a `validSubmit` event on forms which you can bind to instead of `submit` to only fire off when the form is actually valid.\n\n`basic-example.component.ts`\n\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\n\n@Component({\n  selector: 'app-basic-example',\n  templateUrl: './basic-example.component.html',\n  styleUrls: ['./basic-example.component.css']\n})\nexport class BasicExampleComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n#### Custom error message placement\n\nNote: the `<bfv-messsages></bfv-messages>` component still *must* be placed within the `<div class=\"form-group\">`.\n\n`basic-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form class=\"form-horizontal\" [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Email</label>\n        <div class=\"col-sm-10\">\n          <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label col-sm-2\">Password</label>\n        <div class=\"col-sm-10\">\n          <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n          <bfv-messages></bfv-messages>\n        </div>\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Custom Error Messages\n\n### Module Level Custom Errors\n\nYou can provide an `ErrorMessage` array via the `CUSTOM_ERROR_MESSAGES` multi-provider in your module to provide custom errors across your module/app. In order for this to be AOT compatable, the function definitions **must** be exported. see below for an example\n\n`custom-errors.ts`\n```ts\nimport {ErrorMessage} from \"ng-bootstrap-form-validation\";\n\nexport const CUSTOM_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: requiredFormat\n  }, {\n    error: \"email\",\n    format: emailFormat\n  }\n];\n\nexport function requiredFormat(label: string, error: any): string {\n  return `${label} IS MOST DEFINITELY REQUIRED!`;\n}\n\nexport function emailFormat(label: string, error: any): string {\n  return `${label} doesn't look like a valid email address.`;\n}\n```\n\n`app.module.ts`\n```ts\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n  NgBootstrapFormValidationModule,\n  CUSTOM_ERROR_MESSAGES\n} from \"ng-bootstrap-form-validation\";\nimport {AppComponent} from \"./app.component\";\nimport {CUSTOM_ERRORS} from \"./custom-errors\";\n\n@NgModule({\n  declarations: [\n    AppComponent\n  ],\n  imports: [\n    BrowserModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NgBootstrapFormValidationModule.forRoot(),\n    HttpClientModule\n  ],\n  providers: [{\n    provide: CUSTOM_ERROR_MESSAGES,\n    useValue: CUSTOM_ERRORS,\n    multi: true\n  }],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n```\n\n### Form Control Specific Custom Errors\n\nIn addition to providing custom errors at the top level using the `.forRoot()` method,\nyou can provide custom error messages to a specific control by binding to the\n`customErrorMessages` directive on the `.form-group` element. Modifying the basic\nexample above, we can provide a one time custom error message to a specific `.form-group`. Unlike the global custom error messages, these functions do not need to be individually exported.\n\n`custom-error-example.component.ts`\n```ts\nimport {Component, OnInit} from \"@angular/core\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {ErrorMessage} from \"../../lib/Models/ErrorMessage\";\n\n@Component({\n  selector: 'app-custom-errors',\n  templateUrl: './custom-errors.component.html',\n  styleUrls: ['./custom-errors.component.css']\n})\nexport class CustomErrorsComponent implements OnInit {\n\n  formGroup: FormGroup;\n\n  customErrorMessages: ErrorMessage[] = [\n    {\n      error: 'required',\n      format: (label, error) => `${label.toUpperCase()} IS DEFINITELY REQUIRED!`\n    }, {\n      error: 'pattern',\n      format: (label, error) => `${label.toUpperCase()} DOESN'T LOOK RIGHT...`\n    }\n  ];\n\n  ngOnInit() {\n    this.formGroup = new FormGroup({\n      Email: new FormControl('', [\n        Validators.required,\n        Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)\n      ]),\n      Password: new FormControl('', [\n        Validators.required,\n        Validators.minLength(8),\n        Validators.maxLength(20)\n      ])\n    });\n  }\n\n  onSubmit() {\n    console.log(this.formGroup);\n  }\n\n  onReset() {\n    this.formGroup.reset();\n  }\n\n}\n```\n\n`custom-error-example.component.html`\n```html\n<div class=\"row\">\n  <div class=\"col-md-6 col-md-offset-3\">\n    <form [formGroup]=\"formGroup\" (validSubmit)=\"onSubmit()\">\n      <div class=\"form-group\" [customErrorMessages]=\"customErrorMessages\">\n        <label class=\"control-label\">Email</label>\n        <input type=\"text\" class=\"form-control\" formControlName=\"Email\">\n      </div>\n      <div class=\"form-group\">\n        <label class=\"control-label\">Password</label>\n        <input type=\"password\" class=\"form-control\" formControlName=\"Password\">\n      </div>\n      <button class=\"btn btn-default\" type=\"button\" (click)=\"onReset()\">Reset</button>\n      <button class=\"btn btn-primary pull-right\" type=\"submit\">Submit</button>\n    </form>\n  </div>\n</div>\n```\n\n## Roadmap\n* Add out of the box support for `ng2-validation` validators\n","maintainers":[{"name":"third774","email":"kevin.kipp@gmail.com"}],"time":{"modified":"2022-06-21T03:05:39.234Z","created":"2017-04-03T03:57:07.935Z","0.0.0":"2017-04-03T03:57:07.935Z","0.0.1":"2017-04-03T05:04:24.350Z","0.0.2":"2017-04-04T04:16:13.093Z","0.0.3":"2017-04-04T04:44:24.442Z","0.0.4":"2017-04-08T18:41:02.203Z","0.0.5":"2017-04-08T23:02:11.619Z","0.0.6":"2017-04-09T16:22:01.719Z","0.0.7":"2017-04-13T04:26:16.609Z","0.0.8":"2017-04-13T05:42:14.995Z","1.0.0":"2017-04-13T06:12:53.797Z","1.0.1":"2017-04-13T22:51:27.570Z","1.0.2":"2017-04-13T22:52:23.750Z","1.0.3":"2017-05-02T23:29:27.991Z","1.0.5":"2017-10-02T01:03:50.917Z","1.0.6":"2017-10-02T01:05:12.889Z","1.0.7":"2017-10-02T01:05:59.083Z","1.0.8":"2017-10-02T01:07:58.456Z","1.0.9":"2017-10-02T23:00:46.101Z","1.0.10":"2017-10-15T15:50:52.319Z","2.0.0":"2018-01-05T04:45:19.840Z","2.0.1":"2018-01-11T00:12:21.329Z","1.0.11":"2018-01-11T01:35:46.577Z","2.0.2":"2018-01-12T00:24:21.877Z","2.0.6":"2018-01-13T01:41:07.801Z","2.0.6-dev.20180113155633594Z.a26e224d8794c54d67614197d4fbf4800d33bb8c":"2018-01-13T15:56:44.105Z","2.0.6-dev.20180114155919971Z.17813832376a3d0a19fbe3aa73e4ba58ac03e1ff":"2018-01-14T15:59:35.005Z","2.1.0-dev.20180115030131679Z.342a45d7e91d0306b356c8af6d38bbd9551e7b9a":"2018-01-15T03:01:43.095Z","2.1.0":"2018-01-15T03:01:55.271Z","2.1.0-dev.20180115031353150Z.46d7f5e93289355036038fcc0ff442c43f2004ad":"2018-01-15T03:14:03.103Z","2.1.0-dev.20180130230430257Z.878bd2d1a9ab7c12256a15e87a9fb32458fd56b1":"2018-01-30T23:04:41.080Z","2.1.0-dev.20180517152828664Z.0f627bf233bfe8759cbaa712edda40c4578a7a18":"2018-05-17T15:28:42.555Z","0.0.1-dev.20180902155544100Z.0ec3047f5ffa29574a2240c9cacbd20b89b85422":"2018-09-02T15:55:56.407Z","0.0.1-dev.20180902200814170Z.3b0f86e668c99d90851d08e79563f8adeca6fa51":"2018-09-02T20:08:26.283Z","2.1.0-dev.20180902203351623Z.0e17f1c4b68e66513aca32e4a1250d4b08a7321b":"2018-09-02T20:34:00.959Z","2.1.0-dev.20180903032905734Z.a69361865da5773687c3c5c881da87d2a7394b27":"2018-09-03T03:29:14.610Z","2.1.0-dev.20180903041904043Z.89a37902a6d131f1a0969eaf3c402cd9011ddcfc":"2018-09-03T04:19:14.277Z","2.1.0-dev.20180908060617001Z.614666c2d27e0a8ba9957a4103fd8a1336c9806a":"2018-09-08T06:06:32.165Z","2.1.0-dev.20180908061601518Z.753e8c19b1199f507fa74ae4cc39bc1a01b6be19":"2018-09-08T06:16:10.253Z","2.1.0-dev.20180908064826063Z.eb033e5b9e989ac91341e87835e41db26555c0b7":"2018-09-08T06:48:36.101Z","2.1.0-dev.20180908141610544Z.2a863f6dca92772ca67ca490f5ea48aab0917975":"2018-09-08T14:16:23.580Z","2.1.0-dev.20180908210150388Z.4bdc96eb04abb5a388b39eed32ef92fb57da74e3":"2018-09-08T21:02:04.927Z","2.1.0-dev.20180909004107084Z.ab766711996af059890ee7221558d8d20f457f85":"2018-09-09T00:41:16.190Z","3.0.0":"2018-09-09T17:13:51.407Z","3.0.0-dev.20180909171544323Z.a137d09e07d695c340ae9d4cec84455f02b4ba9a":"2018-09-09T17:15:57.113Z","3.0.1":"2018-09-09T17:23:00.016Z","3.0.1-dev.20180909172426991Z.cdf9e597e0f6bb46660d269b0f6290011fb9d8c6":"2018-09-09T17:24:37.909Z","3.0.2":"2018-09-09T17:33:55.283Z","3.0.3":"2018-09-09T17:38:39.338Z","3.0.3-dev.20180909174228098Z.3d9ab2ee145c1b22768e1f5998f31d2d0b2a810c":"2018-09-09T17:42:39.279Z","3.0.3-dev.20190421171547659Z.ed6b0e017f8fbf1dcf98db6a36d21480843c362b":"2019-04-21T17:15:58.180Z","4.0.0":"2019-04-21T17:16:42.657Z","4.0.0-dev.20190421171644535Z.801c2e0cb081d8d5f70ca80da6f7b2e65f66d448":"2019-04-21T17:16:54.326Z","5.0.0-dev.20190919212845196Z.547d56a1fe93f09cd7ea288b7c50cc5ceb661f3f":"2019-09-19T21:28:51.627Z","5.0.0":"2019-09-19T22:07:24.820Z","9.0.0-dev.20201018233825247Z.7d0a7e1d15aff45b4e6f0ce5e85c485c3b7467df":"2020-10-18T23:38:30.795Z","9.0.0":"2020-10-29T18:08:27.670Z","9.0.0-dev.20210204153842808Z.98c415fa6c4d5f3546dcb8870311c865e6794474":"2021-02-04T15:38:49.241Z","9.0.1-dev.20210204172605056Z.db1ec1fa30f0f2c4b369450423bc1a812f330079":"2021-02-04T17:26:10.396Z","9.0.1":"2021-02-04T18:33:40.555Z"},"readmeFilename":"README.md","description":"An Angular module that makes Bootstrap form validation easy.","homepage":"https://github.com/third774/ng-bootstrap-form-validation#readme","keywords":["angular","bootstrap","form","validation"],"repository":{"url":"git+https://github.com/third774/ng-bootstrap-form-validation.git"},"bugs":{"url":"https://github.com/third774/ng-bootstrap-form-validation/issues"}}