ਆਪਣੇ ਖੁਦ ਦੇ CtroEnv Validators ਬਣਾਉਣਾ

CtroEnv ਵਿੱਚ ਬਿਲਟ-ਇਨ validators ਬੁਨਿਆਦੀ ਚੀਜ਼ਾਂ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ। ਤੁਹਾਨੂੰ string, number, boolean, ਅਤੇ pick ਮਿਲਦੇ ਹਨ। ਪਰ ਕਦੇ-ਕਦੇ ਤੁਹਾਨੂੰ ਹੋਰ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਮੈਨੂੰ ਇੱਕ IPv6 validator ਦੀ ਲੋੜ ਸੀ। ਉਹ ਉੱਥੇ ਨਹੀਂ ਸੀ। ਇਸ ਲਈ ਮੈਂ ਇਸਨੂੰ ਬਣਾਇਆ।

ਤੁਸੀਂ ਉਹਨਾਂ ਹੀ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ ਖੁਦ ਦੇ validators ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਮੈਂ ਵਰਤਦਾ ਹਾਂ।

ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ।

ਇੱਕ validator ਇੱਕ object ਹੁੰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਇੱਕ parse function ਅਤੇ metadata ਹੁੰਦਾ ਹੈ। parse function ਕੱਚੀ (raw) input ਲੈਂਦਾ ਹੈ ਅਤੇ success ਜਾਂ failure ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਤੁਸੀਂ createValidator ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸਭ ਤੋਂ ਸੌਖਾ ਤਰੀਕਾ ਹੈ।

ਹਾਲਾਂਕਿ, ਇੱਕ ਸਾਧਾਰਨ validator ਵਿੱਚ helper methods ਦੀ ਕਮੀ ਹੁੰਦੀ ਹੈ। ਇਸ ਵਿੱਚ .default() ਜਾਂ .optional() ਨਹੀਂ ਹੁੰਦੇ। ਇਹਨਾਂ methods ਨੂੰ ਜੋੜਨ ਲਈ ਤੁਹਾਨੂੰ applyChain ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਪਵੇਗੀ।

ਜੇਕਰ ਤੁਸੀਂ ਕੋਈ ਖਾਸ logic ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ strings ਲਈ .min(), ਤਾਂ ਤੁਸੀਂ validator ਨੂੰ extend ਕਰਦੇ ਹੋ। ਇਹ ਤੁਹਾਨੂੰ ਅਸਲ logic ਨੂੰ wrap ਕਰਨ ਅਤੇ ਨਵੇਂ ਨਿਯਮ ਜੋੜਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।

custom logic ਜੋੜਨ ਦੇ ਦੋ ਮੁੱਖ ਤਰੀਕੇ ਹਨ:

ਇੱਥੇ ਉਹਨਾਂ ਟੂਲਸ ਦਾ ਸਾਰ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜੋ ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ:

• 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 ਨੂੰ dependency ਵਜੋਂ ਸਿਰਫ਼ @ctroenv/core ਦੀ ਲੋੜ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਕੁਝ ਲਾਭਦਾਇਕ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸਨੂੰ ਸਾਂਝਾ ਕਰੋ। ਤੁਸੀਂ ਇੱਕ PR ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ ਜਾਂ ਦੂਜਿਆਂ ਦੇ ਵਰਤਣ ਲਈ ਇਸਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ।

ਸਰੋਤ: https://dev.to/ctrotech/building-your-own-ctroenv-validators-19h8