तुमचे स्वतःचे CtroEnv Validators तयार करणे
CtroEnv मधील इन-बिल्ट (built-in) validators मूलभूत गोष्टी कव्हर करतात. तुम्हाला string, number, boolean आणि pick मिळतात. पण कधीकधी तुम्हाला अधिक गोष्टींची गरज असते. मला IPv6 validator हवा होता. तो तिथे नव्हता. म्हणून मी तो तयार केला.
मी वापरत असलेल्या त्याच टूल्सचा वापर करून तुम्ही तुमचे स्वतःचे validators तयार करू शकता.
ते कसे कार्य करते ते खाली दिले आहे.
Validator हे एक object आहे ज्यामध्ये parse function आणि metadata असते. parse function कच्चा (raw) input घेते आणि success किंवा failure रिटर्न करते.
सुरुवात करण्यासाठी तुम्ही createValidator वापरू शकता. हा सर्वात सोपा मार्ग आहे.
तथापि, एका साध्या (bare) validator मध्ये helper methods नसतात. त्यामध्ये .default() किंवा .optional() नसते. हे methods जोडण्यासाठी तुम्हाला applyChain वापरावे लागेल.
जर तुम्हाला strings साठी .min() सारखे विशिष्ट logic जोडायचे असेल, तर तुम्ही validator extend करू शकता. यामुळे तुम्हाला मूळ logic wrap करून नवीन नियम जोडता येतात.
custom logic जोडण्याचे दोन मुख्य मार्ग आहेत:
- createValidator वापरून शून्यापासून (from scratch) नवीन validator तयार करणे.
- अस्तित्वात असलेल्या validator ला wrap करणारा refinement तयार करणे. Hex colors किंवा email formats सारख्या गोष्टींसाठी refinements उत्तम आहेत.
तुम्ही वापरू शकता अशा टूल्सचा सारांश खालीलप्रमाणे आहे:
• createValidator: custom logic सह एक base validator तयार करा. • applyChain: .optional(), .default(), आणि .describe() जोडा. • parseOk: यशस्वी निकाल (successful result) रिटर्न करा. • singleError: अयशस्वी निकाल (failed result) रिटर्न करा. • errType आणि errInvalid: विशिष्ट error messages तयार करा.
तुम्ही तुमचे स्वतःचे validators community packages म्हणून देखील प्रकाशित करू शकता. @ctroenv/community- हा prefix वापरा. तुमच्या package साठी फक्त @ctroenv/core ही dependency आवश्यक आहे.
जर तुम्ही काही उपयुक्त बनवले असेल, तर कृपया ते शेअर करा. तुम्ही PR ओपन करू शकता किंवा इतरांच्या वापरासाठी ते प्रकाशित करू शकता.
Source: https://dev.to/ctrotech/building-your-own-ctroenv-validators-19h8