{"version":3,"file":"angular-formcontrols-validation.mjs","sources":["../../../projects/angular-formcontrols-validation/src/lib/angular-formcontrols-validation.service.ts","../../../projects/angular-formcontrols-validation/src/lib/angular-formcontrols-validation.component.ts","../../../projects/angular-formcontrols-validation/src/lib/angular-formcontrols-validation.module.ts","../../../projects/angular-formcontrols-validation/src/public-api.ts","../../../projects/angular-formcontrols-validation/src/angular-formcontrols-validation.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AbstractControl, ValidatorFn } from \"@angular/forms\";\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AngularFormcontrolsValidationService {\n\n  constructor() { }\n\n    /** this function for validation name fields*/\n nameFieldCheck(): ValidatorFn {\n\n  var pattern = /^[A-Za-z' \\-.]+$/;\n  // var pattern =/^[a-zA-Z ]+(?:\\s+[a-zA-Z ]+)*.$/;\n\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n\n      const inputValue = control.value || '';\n\n      if (inputValue?.toString().length >= 1) {\n\n          if (inputValue.trim() == \"sam\") {\n              return { 'nameCheck': true };\n          }\n          if (inputValue[0] == \" \") {\n              return { 'emptynotAllowed': true }\n          }\n          if (!pattern.test(inputValue)) {\n              return { 'specialCharacter': true }\n          }\n      }\n\n      return null;\n  }\n\n}\n\n/** this function for email validtion*/\nemailValidation(): ValidatorFn {\n\n  var emailPattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|.(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n     return (control: AbstractControl): { [key: string]: boolean } | null => {\n\n      const emailValue = control.value || '';\n\n      if (emailValue?.toString().length >= 1) {\n          if (emailValue[0] == \" \") {\n              console.log(\"inside mail\")\n              return { 'emptynotAllowed': true }\n          }\n          if (!emailPattern.test(emailValue)) {\n              return { 'notvalidemail': true };\n          }\n      }\n\n      return null;\n  }\n}\n\n/** mobile number field validation*/\nnumberValidation(): ValidatorFn {\n\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n      const check_value = control.value || '';\n\n      if (check_value?.toString().length >= 1) {\n          if (check_value?.toString().length < 3) {\n              return { \"minimumLength\": true }\n          }\n          if (check_value?.toString().length < 10) {\n              return { \"phoneNumberDigit\": true }\n          }\n      }\n\n      return null;\n  }\n\n}\n\n\n/**password field validation */\npasswordValidation(): ValidatorFn {\n\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n      const passValue = control.value || '';\n      if (passValue?.toString().length >= 1) {\n          if (passValue[0] == \" \") {\n              return { \"emptynotallowed\": true }\n          }\n          if (passValue.length < 7) {\n              return { 'minimumcharacter': true }\n          }\n          if (passValue.length > 50) {\n              return { 'maximumCharacter': true }\n          }\n          // var specialcharacterreg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/;\n          // var specialcharacterreg = /^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\\D*\\d)(?=[^@$!%*#?&]*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/;\n          // var specialcharacterreg =  /^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/;\n\n          var specialcharacterreg = /^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\\D*\\d)(?=[^@$!%*#?&]*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]*$/;\n\n          if (passValue?.toString().length >= 1) {\n              if (!specialcharacterreg.test(passValue)) {\n                  return { \"strongPassword\": true };\n              }\n          }\n      }\n\n      return null;\n  }\n}\n\n\n\n/**confirm password validation */\nconfirmPasswordValidators(): ValidatorFn {\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n\n      /**                            condtion  (ternay operator)           ?  true : false; */     \n      return control.value.password == control.value.cpass ? null : { \"passwordmismatch\": true };\n\n      // if (control.value.password != control.value.cpass) {\n      //     console.log('contr !== alue.cpass',control.value.password != control.value.cpass)\n      //     return { \"passwordmismatch\": true };\n      // }\n      // return null;\n\n  }\n}\n\n\n/**strong password validation */ \nstrongPasswordValidation(): ValidatorFn {\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n      const passValue = control.value || '';\n      var specialcharacterreg = /^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\\D*\\d)(?=[^@$!%*#?&]*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{4,}$/;\n      if (passValue?.toString().length >= 1) {\n          if (!specialcharacterreg.test(passValue)) {\n              return { \"strongPassword\": true };\n          }\n      }\n\n      return null;\n  }\n\n}\n\n\n\n/**future date restriction */\nfutureDaterestrict(): ValidatorFn {\n  return (control: AbstractControl): { [key: string]: boolean } | null => {\n      const dateValue = control.value || '';\n      if (dateValue?.toString().length >= 1) {\n          const currentDate = new Date();\n\n          /** Parse the input date*/ \n          const parsedInputDate = new Date(dateValue);\n          if (parsedInputDate > currentDate) {\n              return { \"futureDate\": true }\n          }\n\n      }\n\n      return null;\n  }\n}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'lib-angular-formcontrols-validation',\n  template: `\n    <p>\n      angular-formcontrols-validation works!\n    </p>\n  `,\n  styles: [\n  ]\n})\nexport class AngularFormcontrolsValidationComponent {\n\n}\n","import { NgModule } from '@angular/core';\nimport { AngularFormcontrolsValidationComponent } from './angular-formcontrols-validation.component';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\n\n@NgModule({\n  declarations: [\n    AngularFormcontrolsValidationComponent\n  ],\n  imports: [\n    FormsModule,\n    ReactiveFormsModule\n  ],\n  exports: [\n    AngularFormcontrolsValidationComponent\n  ]\n})\nexport class AngularFormcontrolsValidationModule { }\n","/*\n * Public API Surface of angular-formcontrols-validation\n */\n\nexport * from './lib/angular-formcontrols-validation.service';\nexport * from './lib/angular-formcontrols-validation.component';\nexport * from './lib/angular-formcontrols-validation.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}