package Ġcom . ta ir its u . ign ot us . validation . validator Ċ Ċ import Ġcom . ta ir its u . ign ot us . support . util . Translation Ċ import Ġcom . ta ir its u . ign ot us . support . util . Validator Attributes Helper Ċ import Ġcom . ta ir its u . ign ot us . validation . Attribute Validator Interface Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠValidator Regex Ġ: ĠAttribute Validator Interface Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinvoke ( attribute : ĠString , Ġarg : ĠAny ?, Ġvalue : ĠAny ?, Ġfail : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ! is ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail ( Translation . lang (" validation . string ", Ġmap Of (" attribute " Ġto ĠValidator Attributes Helper . getAttribute Friendly Name ( attribute )))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcheck Ġ= Ġarg . to Regex ( this . java Class . name , Ġfail ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ(! value . matches (( check ))) Ġfail ( Translation . lang (" validation . regex ", Ġmap Of (" attribute " Ġto ĠValidator Attributes Helper . getAttribute Friendly Name ( attribute )))); ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Component Ċ class ĠValidator Not Regex Ġ: ĠAttribute Validator Interface Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinvoke ( attribute : ĠString , Ġarg : ĠAny ?, Ġvalue : ĠAny ?, Ġfail : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ! is ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail ( Translation . lang (" validation . string ", Ġmap Of (" attribute " Ġto ĠValidator Attributes Helper . getAttribute Friendly Name ( attribute )))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcheck Ġ= Ġarg . to Regex ( this . java Class . name , Ġfail ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( value . matches (( check ))) Ġfail ( Translation . lang (" validation . not _ regex ", Ġmap Of (" attribute " Ġto ĠValidator Attributes Helper . getAttribute Friendly Name ( attribute )))); ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠAny ?. to Regex ( validator Name : ĠString , Ġfail : Ġ( String ) Ġ-> ĠUnit ): ĠRegex ? Ġ= ĊĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegex ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠRegex Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail ( Translation . lang (" validator _ error . unexpected _ argument . not _ regex ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" validator " Ġto Ġvalidator Name ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ