From 34c0cbae328b3cb76e72123bb1361f6356e8f30d Mon Sep 17 00:00:00 2001 From: Enes Doner Date: Tue, 7 May 2024 14:35:30 +0300 Subject: [PATCH 1/3] Added article --- .../images/abp-fluentvalidation.png | Bin 0 -> 14879 bytes .../images/error.png | Bin 0 -> 19739 bytes .../images/validation.png | Bin 0 -> 51974 bytes .../post.md | 95 ++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png create mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/error.png create mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/validation.png create mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab2917875fefb57ff9340541a476008eda80177 GIT binary patch literal 14879 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/error.png b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..1c181bfdd34f741cd08e4e1ff297bb3ebd7d1ac1 GIT binary patch literal 19739 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%0DQa{Tel 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md new file mode 100644 index 0000000000..2dd1944ff1 --- /dev/null +++ b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md @@ -0,0 +1,95 @@ +# Using FluentValidation with ABP + +## What is Validation? Why Do We Need to Validate? +Validation is checking whether a data is valid or not. We can liken validations to the cell membrane of our application. Just as the cell does not want to let in harmful substances, we do not want to add erroneous data to the database, which is critical to our application. Validations allow data that follows the rules to reach the database. Data that does not comply with the rules will not access the database at all, and the operation will fail. + +![validation](./images/validation.png) + +Validations make your application run more efficiently because they are not connected to the database. Validations should be applied in different layers of applications. Validations are applied on the UI side. Validations should also be applied on the backend side and database to prevent malicious users from passing these validations. Fluent validation is often used to create validations on the backend side. + +## What is Fluent Validation? +Fluent validation is a library for checking whether data is valid or not. Fluent validation can be applied to your code in a fluent and understandable way. + + +## Why We Should Use Fluent Validation? +Fluent Validation allows you to define your validation rules in a clear and flexible way. This means you can comfortably handle complex validation scenarios in your code. This makes your development process much more manageable. The readability that Fluent Validation offers really makes things easier. Having a clear understanding of what your validation rules do is a huge advantage when working on your code. In short, your code is cleaner and clearer. Fluent Validation is also very functional in terms of testability. By defining your validation rules in separate classes, you can easily test and maintain these rules. Fluent Validation is a widely used validation library on the .NET platform. As such, it has become a common standard among .NET developers. This provides advantages in terms of community support and compatibility. So, using Fluent Validation simplifies your development process by making your code more understandable, manageable and testable. + +## How to Use Fluent Validation in ABP? +![fluent validation](./images/abp-fluentvalidation.png) + +Using Fluent validation with Abp is quite simple. Open a command line window in the folder of the project (.csproj file) and type the following command: +abp add-package Volo.Abp.FluentValidation +If you have not created your abp project, review the [steps to create](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Overall) it now. + +Create your product object like this: +````csharp + public class Product: FullAuditedAggregateRoot + { + public string Name { get; set; } = string.Empty; + public decimal Price { get; set; } + public int Stock { get; set; } + public string? LicenseKey { get; set; } + } +```` +Create the controller of your product object by following the [documentation](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Index?UI=NG&DB=EF) +You must have ProductCreateDto : +````csharp + public class ProductCreateDto + { + public string Name { get; set; } + public decimal Price { get; set; } + public int Stock { get; set; } + public string? LicenseKey { get; set; } + } +```` +Create the ProductCreateDtoValidator class in the products folder in the Application.Contacts layer. +````csharp + public class ProductCreateDtoValidator :AbstractValidator +{ + public ProductCreateDtoValidator() + { + RuleFor(p=>p.Name). + NotEmpty(). + WithMessage("Product name cannot be empty"); + + RuleFor(p=>p.Name). + MinimumLength(3). + MaximumLength(100). + WithMessage("Product name must be between 3 and 100 characters"); + + RuleFor(p => p.Stock). + GreaterThanOrEqualTo(0). + WithMessage("Product stock should not be negative"); + + RuleFor(p => p.Price). + GreaterThanOrEqualTo(0). + WithMessage("Product Price should not be negative"); + } +} +```` +Fluent validation provides you with ready-made methods that you can use to write validations very easily. +You can add a method to write your own customized validation code. For example, let's write the code that requires the license key field to contain the word “key”. +````csharp + private bool ContainsKey(string arg) + { + return arg.IndexOf("key", StringComparison.OrdinalIgnoreCase) >= 0; + } +```` + +Add the code to the constructor to use this method: + +````csharp +RuleFor(p => p.LicenseKey). + Must(ContainsKey). + WithMessage("Product license key must contain the word 'key'"); + +```` + + +When I write code that does not follow the rule, we get this error + +![fluent validation](./images/error.png) + +For more information on Fluent validation, see the [documentation](https://docs.fluentvalidation.net/en/latest/) +  + From cdfb31afa758001bb00601ee9d6e17f7bc3722be Mon Sep 17 00:00:00 2001 From: Enes Doner Date: Wed, 8 May 2024 13:43:45 +0300 Subject: [PATCH 2/3] Update article --- .../images/abp-fluentvalidation.png | Bin 14879 -> 0 bytes .../images/adding-incorrect-data.png | Bin 0 -> 79035 bytes .../post.md | 44 +++++++++++++----- 3 files changed, 32 insertions(+), 12 deletions(-) delete mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png create mode 100644 docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/adding-incorrect-data.png diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/abp-fluentvalidation.png deleted file mode 100644 index 1ab2917875fefb57ff9340541a476008eda80177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14879 zcmcJ0Wl&sA)F$rk?(Tu$4ueY=+}(n^2Dd?j6WpEP?hxEHSn%LZupnXY`&I2$?f+e> zfSH21)3>MloX0v^O;rvZg#-l(3JP689;6Nh1q@A@Rv(W@Ti}I^S>gGM+d_-#LCLRCx~KVRQ1#+E6NdA{_F~I+tVx` zrk;q_$o+ru2lRlygD-c{I)+oM%!O_82LHW_mcsaWcd3%^{>V)vX8FJSheLRT+g69& z(vms&5;_d9YED&&`;pIggFmOstV-gq{r1~=gxHdViOB*WLD#Ber|rY>$qZ>c1=R%a z6C5K6#XYQpp-M%+n@}4k4oF4AhpPeD&fwIc|864f?ht);Q3DGsENtv2^nd>M`6-En z2}fe-M_5LN-2c9C6@%*UgHdG<8K38AU-Ns*6pE!fh`QPho(|&bo z6@52~#8U6_>h}HPLrm;}3_U#hN63ST_4VbdJ6HIG4cf{^!_4mG!73t2zj=pTT$K>( ze_s5=!p4><))O9&r2ygbzsDgLVqpAZX*H=B+KSIHqkmNWu8& z5FdYD3sjjvqpz-hi$55|`#`kSCzUTAln@i6UvD~4qt_%QC8b{SR)EW>-#(QmvKtX` zV`x|*xsHGir)Qp=gzfy|Ww%2(G0Pccdo z@+gO=V>Zy`&AGUMgM;%4BpdPOd~};8+4~Q*%zrlT!=(3C=&+aF(~8C+aRMllfIuTEAKa>l%#wPtL?7)zJCtqiF54aowu%wihUQ$H7MBp^gz*^h>@vNaw>Qj#m8L%2Goyu3nfV$&H_OJu_u>QIimsP%PqpSXE1?lRpc z)9c9i>~eBb+-*`g{1D3Y{bcRd5vsDDSxEezbX2NSI$J|pdm936cyLkAD4g_ZTykT51OxD)c+}zym74KI}g8mz+=C#Px zuid{d8j%eOxRO)yFgYP1-Kx10twbcZhqIh*5xH|1`qClcaN~L3gL`3%e4V#)y0Fku zKik@UFDk^uNL%()N}-@m$rnn(Wcgy4$-N5W1fH*yo5imV#ku+gkLj`KDLtDfnk^R4 z+0)Y#78Yg!A8zjDGgjPobb5%NsiYWP4A|Fv&xaE236pdsIxqGaW1-X zHL+};-}j}=`{C{P)zx-^By3g{O0`~-H6kWONj4LHl&#hM-#w`6RwxnaspIItTFo?wt zUn63-Z=BFc!8=jnW)zt6OItnu78Vxb$SQ~jSl??@^F-Dft(2a>ELT6yioXMc!{VsK zd6h-PP-`=$qly`Ge-GS>!t`i4twg|{o|?MF)P=J?@9GHrtNb?~t!PLRK2!gBgdzZe zO~3KW$`;&m2g78b$4Zp-T(H;tp=Qtj_POul>JJK-f0)n!;Jeu*Lj_Ekkysv8M0PI+%@ zkk$+>gf`hjzQvv+GBH1qgLzuBGipia?ZeS+)z#Mh{DB{`KWYbyV3hbOM3pR-j7iX)?RX;fQjH%p9(_3mxlaW?HaLk< zf2dLxtH+h6_o~3`_6sYb#<;A{ZnbBFV^ z4b%{UPor8|@0?u;{J68p=4Au;E1$Eav zJLK6wZ0=?(Pl^g*lm_9-t55o98yqQS{ZF>u^6>g%ym{s?jzGd#Tw* zH|211cPpg$C@NYREG;o*M_)`4cu5J1`dv#&SEjS_h^jtA2=MXavjy}bDP2&gp6}0A zKIKmYPImJ3?6D;teUC>ZHT%8()?=GMa_KT$7zd)VzTE7> zr#{^u{aUV?J2;PkfUx(wzItcuE1BTl#f7NLjszy=*MDy>#RrLriHx7}EoN z;)YfPUH3o|5)!cl>|-Z(a|HvyM~q1+Muv^;3aJYNs)(=`oAj?g`B=|cQJ9sVrOV0= z2t>`wDFc~YU6=#|vN}zw3c;=9T9=#qxuTOztpvip*BK@i=93v3lNZ`GkCoUUM%BC+ zTQwrEER#FUEnVois_fweiJyx`2muuyMY$EutFD!&s0=ST-Rozk1Fp>tLP=&GleYG! zKOtdJY&GNusUKJ8nWc=j%+Al2bGepE>8Q958$& za<5G>S#av`kvm|1?R|0x_k~;5_S$T9*vw1QdZ4E*R{g;+$!gz_t)({4{jovB=NQST zA`)0tc_O~a90MyO@uVkcH|rhlj2tHF6e}DxSh>`S$D5{~Rg{(GeaB&baB0&JF=>7I z(w&t>!dz2SbbEKA0mmsOCI(Ct;~JB?_}g7dMn(o#sQ{m@YNy&T+$7teJtVf+_>rm~ zNBHfDme+ZAiFpE@K~bq#-U6k+h`acap5COmNRfDdu96GC@s4A!r&S2sA8T$aATq}J9wXPsMJiNcZzd%vI^IeF7<)Ao?pr9aJ$R1Nf=JL`K z9eqnn%WRGykJq_wtDe(hS$uLb&bsA>G?LTc>)$`{d&ceHfq?-SZKF_^Yg9rGJZzCZ zA4zPcV62q&=H0(f*T%gisJNnmhEB`ySQwlc>_i66&I+GmXeD~wqd3@P7bNerzYNA` z*<=6OZ;}T!kiY#LQ87apIdoIZa`5SAc>=2~^YJyg{yFEj?#?jjA1vU#R&J}=sQ>(T zg36h4oBGG7*TuX>c}itXQD=@@$EhjNi`)63-;FxjyDpPayUX}`FR7Z1;vVej%-xOu zW9>-T!aGsXhYuglEo`@YMa_p-S69!^&w&d0di?qGXMy1PVmW>Q@No>amDZt zM>+}vKyTMRBvrSCcYvd3-P6_WZ7 zil`3M!JK_CrqS*AQ1jgD*x!D|b{@^l!w)H;K=K5=B^9)6?%EY-u(dRoL!b?Dp7_<^ z=+L;h^6GOojYQg(z1VLNwkHjl9l&NGpt=5OkV9^sTW7Ene z4q~wxtE=PWjwW*z2^gg?eo`gmspO@h33bfh{Pk-nExd}?bN5VVt4hmiHpBCL%%CSr z{|%IrKvt-IW07dT5UyV-pX26MF|w9$^K^5~eqwl2#Zh!k3T?BIplHFUj2+FC+}aym z8&b)AR#r-5H5X?+i!R^op3y9Q*U?VYZXDm`b?5WD7j_r%2WGyA=OF+@w7ojOoOjdZ zvw5UkmUK@xxT})JE!j<@7jWzGzHdU#Q%~c^gx_evi%UA1%j?|-LA;$#u%z=0Dp^#f zVRi8DDmlPiw%X3q_}F^{r1x?bK~zLUMC6H)9FTsc68wzDW&Bpr0xp&*M|b* zk@8r_g{L<)Hj~(Z$y!P{oet9D0=lU@?@x6Ag0vo>2 zGQ_SiwKj63Eo0%Zx)Wj?7Y$H@UtnX$U!Vra9&Glfr;49IIlfxGPp9m{DJ?B`-e~Z@ zHR18UC$~JC`?30KqY=@q}}s#JnY7r*?RJ63EOVQ?V{l z#C0d-Q6QmY|I%I^RWfOwx=~w^zOo>nU2LGt7z9^E9A9iim!*3_A=_%ffrD+FtoodT z1aL1I#g+fsKeN%MaNJI0IegU=fM!>V;pThTTtRRS$5qk~4*M9iizDXqv6RWe?81jW zApt61#CQEi3*km$QEpN(qh*G7UMUk_(eD}IUq;BGN-}gW)GnqV5njzmZksTVa-%iT&0hl3Y1JUvD_&9@88TyBL7n_HfN?#Is z7+gGY6TMXaX_;Y9QLP2bsM!*}KR90x8&uhqwT@sf&Brw`p4;{Kj7fswl=N-TZhfg6 z9xfB5YF&OO-V8H37-hxpvO5A021;_{rlyiC7+5M&(YK1G08qVs{Ym@gXf}j3Y!0sp zwYjd+=F5#bTP25Q1GeLO^GO^r&*0!-tHT;hF`YUoztgWaXA>_kKBN57D+m+WQV1+! zGE8D}a&lW+TVLP1;mz%zKd4AZ_07#CXG_(Hc$A6A{A|cnoz~MNLekx){gMnCRsf0e zh)lG@oDYRTk>|^oPe{=G$f~794i>0T74=Kb&e;ax<(n~%s(wpOlQDr{YEayt^5`1t z#YWR5^|Kr=EM5Gn+^WjB7zi8r9Tm9;D}ec*7tNdywl5Bokf-;`+y}TG<*))gx;oS~`7ei@CcQPr zxC_SGT1HWkScfa4EBVTrJ}-RR_7fg%6?D*tKw&sI47B*tXon+#r%I9w_6?8&h!znk zX$p*1dVKt}QV6l&J3dGWz}b}*NHkSt3{Nu$O;ZR)Q>{FX8lh@J$;eGo%b;DS_1I(f?z9VZ_ zZ3gFJ@#;9HhN1t1Bz|&rjq0>nFu2G2(~zT6t7@*`(du-3L#eHaf{OP@jo_5V=fdpP z38p#B0cffIAg))g@lJp7@sVEPiIh$O2giW@u@v*s%j)8Hgd!xG^NR}wXe3o zLoHnze}iN3y<_8ciOpSy6^u%__lfZvG_;D97w!Ecf=U(|6cR)X3Q3rGXWFV7LG!7n zA{rLLP|E5u8FX&ySQDMarmKRSg$Bx^!Mj)fNA4{Ko1iJywj$8f0jst4Lj}yM8hPZ> z(n5L%y8Fd5`W-wS4SYCP3BdOgjYW7^{Z}iHE95bdJLCt>r0GQx!Bzp@AZcl70FPIV zxq$P<0_35`e*S#O{zJf0@s3m^K+07znvg~&`h0&3KE0VA0vQ`q@WQHARnZiEJ~Qwl>EGD5m$?ZCc6RA41M&3?deTP9&;>nyd|~Te=RlfBU}>sT*94qd3sl@P!>_ z<1gcys$p_;d7Y zJ^_c`mZWjoIpJtoNv*KW#u6^@<_SV#$Dc5PCsjinK^O59*zLy zwxHNtT3&|N_b|S{qm*oJ)sz7_|7w>JRUCX2q^CteLXT(vL7R{igDv;}Y&g0x7(VK3qPRiT4y2QXbe#qwE^7c{ya zSe(#LUA47!iq0uBCfzkM27(A+GRukLQ9Aph+8#&CR0a0X>!bTr`c_;uR{0J;^HQy^HKV$}^KjqdwI;G9 zZ%hwsm_F2LYQ8|W`hxm2%2hoI{qAKG$P_5h@XE_S<#%>=He#w1fsY3xP#t2!dz9!o zD!?Gu)=WYzXz(4#W28@83*>Qh+4Gz`?V7f)pApCOMSt|tX=oy(Rz@kKm}@+gy`|Z8 zNNdbFIm3%ZaDs(yB4*g;vyf9GpY`=+D5D3P2h(0fp#q_K48E3U|8BJWGm5as)3>}r zVnHr}AM4K}{*Q|(!yHC2lI+P5B{j7x!>z0i+~a9Qc9ipXcOLxw{GC|um6HZ-6J-i0 zOziBA{lU-xFQ+xq7byZH%GTD_GSubj^3qcJ!nK%cS?r!Ke;Z?BP?+`l0^jJB(zzD% z{*?lAe#Y3 zzbVres2n;O{m2~8t>nPuK!V@T@dkWeoAnyam_hit!?mI>@;}EHkK(2sk$WuFywCWa z|Bl$NIP2>QC$rI6p^G+gJa}JiGIpqIUeE%nJfuAdpg}$Wp?RV{c1TxOS4Y64m?EP{ z5&#uyRcn7pu`o+j(|Njgq=}%Nou0-IoPw_cgHn={g}g776{S>FRcW?S{&K40V;lAG z!Rd(GYift$FT30yKSsRs(LJEjCdQtIMa5IwT-)Ddyhvswcw^uMr_hBLmv=e&VN3c? zB1d~WlIJQ2C}M5?#Uyvj5e=IEH4);ogIClUY4% z0ZFo(ToFMWwC_Qv|RZJ{}(0VXB?e-Cfs1Y_ zH#3t}RKE~FVH6Y)h$H#{gD7#-pjiwVy!F1?%1sT=;&<+K+~7OhV#5&T{U6|E*r(p^M34|&#UX)-6V`}nB;wlP@OehoXz}YHxTp88}$L_da8t`z66)N8P z5OR)W83<0WYJ_P?%=C}#0SJNVm*n?@bXDRODpY_85#_!!IxLWNlN?IKYp@U z4*ki{kgVt@EFuO}D%@@@b4<(!6@G$u6sLdm!5ONsO>Fr|6RgR7-S%Astr0b}PPW`U^Qz#XE zW$EdRKxwI|@*0V7pu({+`NJDk+4{`-^z+K59h;FjVizQIbo6n8@&6nTD?oojK|v|u zqWv;zJ)Jc^K2D9wPSuY8tpGJj<98D@ZwyoTzffd3;)b5c@f60Oy2m$7NiERbPGKW7 zDV-qwG;~;$jkOvktK{T628}yxqLwR2yobHB>-7~mrKLX8>dU%=fK%r~^N*3EC|ma^ zS%!Yaj9PHy!*r*BNT3wyYJ7I9dIN_zY5_^Mfl05_tR0S&=1O6;yRZfw7t~KmHBCUBAmkj@*B9n?zcH1`-Snep6sPMD_P(G-{Xtv32a&qU zI~tx9CbsJN_ifisS2etBR0uKG6WyPPAj&i?HM*Aw!1Dc5(HR;)?~ZvOY!(r$pD(** zrVS>!A7vbK{kSYz2eq5M-v_4L%hmB5F#KGJ(gE#==0QoG$v~pHabk8>?mWtCj^wy% ztT?Tn8VSY~>X>}2o*hR13j(0eCWv}plFi`6>^A>kj=+VaPft%rm^iZ35ONyV7`q7lZ@_cTxWV{D`Yt0RJgibbVuEbSRabK<`mY21Hp_BH-apYf&W+ za2f*bgef}eFI-JU%vE?rbE7L)`Q*xR`K0(qp2zE{5aG!g8zaBldsI=bZ!f33p~fSz z2;o_Nve`e5#dw8oQJG*ba2ZNlppH$f%Wl}EAot%YC*xe`<0X$ zMAz}T@}!pH4Jjr~CKZXViK%)=+Np!h$L0?q$8fJ&(m7#wNBg4!r)RwdhsiGIlmdK_ zOHS=-JZo99kT+Nz15x1q*^>VGmAnC0*J!1a%jMpd4blKk2jt)}}))$UMrm1UoR zRwgv<&nK?a7Yeur0qyyzY-SC~qo49-9?<6&E~b2{SV)!(U(pKPLDnw;0L8?94>xbul0q| z^gb0-MJ`6^aJA>cE~|h_jx8F<^b9p)2DRPoiyI_t_BJx@qPLq>B)KH6KcX_~at)rXOtNfPkp!lPycKB*CyH(nfBwYAeb@bAm|)miSKe-F}6j@v^28ZDjFskA$R%|@X)6%PU%5Yx-piAt*Y zTG{2Qt}5JSPJN_9E(o3F;7b_&D#!h2k^^MI&E005w<wXMpZJPj%q zw8NoF)yh+dl*Q<$vOIxZ%vu`gawm>F@2kaF#%`aRg|!}UK+Xc(I~Ito@LFTkuslsr zGDtQUPs`J<{XP`kW>Eg${%2S`#S1~ZT^@a0qDKoX8E6^a%>cx~4vAEaO`R4j^sfR% zDk^2=j)Yk1Kj$nChope&6!O{A>q-L~bo2z@Y|EtiZU5ZenRw3HH%v` zgx8*vUDQ3Yjk8fx$v5(Ei?^GCGG5NwC{>K*(eY~m!Xduv9-XHa>imkYZ@@DqG=*Jh zq^hc3(|f`0tm3vkAh(E{j>*3O$nPaB*w)qcCUTBl2!TODQ&zGkw?@%l5C4{v%xI_x zP&mq!bA4YycrOZL8J|z~8B}PMn37=o2ZALY3=F_V}3mGEy7yhr!Y;Jy^?b=RZv48u6>-p~P@AKWm zdFS)+ar;nyx~&fBE$D&c%bt>Gjj|L2PRlE<60UWZzD)1%-@kwN|He^7E^3S+89C%z zQCdNN)nOGD_6HPUz@Z`hJ5k1Ryj-mV_*(02&f6&q$Z0vfT~)ERc6M30DLgdlFvvJ! z+4}279g1}f&o_(ZCBJ_=>w{ZkV#NvZx+iDGrvvUg>+2IggvH%%bt8*=l-PgGtBNA7Rz5 zshA1TQhTzZ6#L@y`gBvRQ@0mBXCRoSh5OT8Ia4$n3NZc>KW@qb!{t&P-dDvZEUal6`)^bRcwz;v?ozkH6D64qh zAG2!sJw`wk*HjWV^MQ735Q?^%-as_ZCmJ_E1>4`p1#xtSZF66)-#ZF>sbn60w=i9A zEymgZrLOYXEA*||+arP9sETl6Y>G_8;iIzOsrG$X?YB=!9(4=1XjnXV3sLCW zL+;)F63E5cdgj)Vu^3Ja9t#K)xa=k$7&&w$5b+G0aRUBJFnnyrv`M?iAzR;#@gf2` zIlMQ?!Nz1&ffe@vWG$&X=CHqz)_FLCof?_Yw`|tX_n&=tTY3VQ+~`mO5U0vUwbM~S z!=IU%p`lE+L}kbj3EMk6Gsp$Ax$2)<)&va`llN@Qy4SumJgf+@FR#ax^=iF$#Hz_Vmn4~bxey@*!aeV5o0(ki z(@TzWP*0Vbj8TSUbA7#SD<^MP#rHV%rk~u?8)JLY*%&d?`r|-3S}|6I|Nh}eE1j8% zrPJbFW>bEX0~kCXHLRq=RDA-Je!F85Zh)P>7aVRydL7M>HzJq-D3#vC@u@cq0bObw zz^PhCV0C%2A|RD?-8P#q{#CwC{V}jK_PEFYaZI0G)b9@KFA{HU6u@U?<>UbPknNu* znNt$RbjL+ssO6E?eC8C?T=J|LKFtEN!O>fU4Pm`6eVJ!1+#nO7K}mPz$6k zjVI*(&|Rvc^G%pfmCFjKO$Mz_7Vq*<+zb!5*B@}BzUF&9&$ zO&)FM`4A|B-6DQ>$AIJHJlv*Qsh8X9_xVND{ozW>`ZZvw8c z%rS>A5m|&nSlml+?%;-;(d!GRK4wJHN9^Is?ViVAKm#E9#Ao`Xu{}mMb2Pc6*~w&5 zXL7XJl@H=5rs>6ZTm(mB5)Bivf^}iQ7pe?^^D*-2*?#3R;A_5!*}LlMeajiYY#hZW zloTUeQ08t?7C|jFD=VvE5}>kldsLp|6FKw*y$4?J3@|MMVtJFz?1I7HLHc{3JORv2 zIqT#2)|N3C+yKBsK=uIEj&X-u=~$vVSrOIf_BJKHPK_>g9F~^{P`w1*4*@TeiHWJA zstWMvowj?)#fJdPXT8;t6$e}oXY*frEa2sV_v6Q*hC&Yg{&`th*~U%Wod$p&0vL23 zYRvqBNf4kQK#7hg6U6C7Xd>biDh7OFYUBHx8|<~pT}B{2GxDp$eV3)Wy4s?AeSQ5H zx&b~O;-Lj3n4$&Df7a+(MytJI;W8-qLr;#45fKx|lM6opLJbY;Pdx=(Fp~IkXJWk2 z^T-q~7ajJtqt8BPJ_{< zxDgQ%xeu2rz_f{jawo0@o}ggZSdhp1yDG^M3sHvs1!E{@Hx85q>f@tl5tQCg|PqU&vZ-Vv$pNP zjgA!KH34z)d=Fhy-6v~&G)_M_%cK|=(Rw-SO+LU;f1({EpKG+5Osp;`@i>@BYq4KR zwy;iziL|t`@;+Y$qk0FF(lgVd1Ta0o@O@vX|BHP zD6+FWLsirVp3bda4SGBZYDfY;R@J z`anP?YAis;u$YE$r(a8k3J&eOI$ZyY&mPDjDu1o~6J=w#oR5!>scAuaI)SIvay5V8 zt4|0ku*$f+El;>s(V;;=3H$W(aHu6AYzRJHI&|$bpmnwaZgtW}reIqK2Zt`Ni#b=1 z((f$zFp6+fURus^9 z*YiL&R1sHwU|`@5aYsMep*NtOzQ6v#e1>6UWL!80*kOn7AL~x3$~i$A)DK*SVStpj z|F|6_N7oI6!(?I!^mKI-c~Q(_>WtaD#C1mLfsXl=Qp^bnT^b2R9!mSb2B zi198U;%%IdfQ_JOVnV40f`Ks5(d~@Qe@BXQE}RTjQeY!pEpEH*(tky5nnfc7mbdH| z-qsZ6ftbNvM$h>|DkuV@L zz<}VD>+l5C>=rDOaAghh;kY7`@}9VD6|d$c`VsIV zGCm{r(;)H$quk_U_o8&i)HOl|=aN>Kh)GEq>5;c6Wlj3K(+!}&chP%gl)r#(_EZF< zKhe-Y=h#LeY&5Qry>I>x=g}AS8#LS5;V=+WFjNn$sfEQXRSboS&%ykEAS)D}6g4Vm zOTSG^1A;R=WK1k%&Sn;=f~~+6V5$t(8eLd-y`KB<4?31F$}v{p%iVbgYJ*Pgh*2N5 z_l1x?M99}~```7>eIbwa^vyZXSpOId$43&&4I74WmMS15F#T{J^xE#Akh;FK)?_n2 z(Wb4f4Z~+Mna;kN(2mqwD&J?6K%_r%a3q-iXRloL{BUUO-sPIogMuL z^d5{`J3x{TcspXG7cF>verpEo`)`Wv2JLgZG|BNuV$m6~vFbi*S=eZtzvh9y|0!3< z^L(`dLPYJxiKy-IBNE+1u$Lu*=^2TekCu~@^D-~-cO~j-^0#l0e}gM4-g`sQ0`(s( zM*2T9YARua#l^)P!r?mUTCaP?NauFmo6c}R*p(DQpgyMX?^9FC-rnALYG7~(rK<-5$@408@t%z+@n;h~|# zwz<&649=5r{Cc$OUQ;q)Za}R_NFm4K@2{}lNxp)~!7giBh+v;W3JQwV3P9}V(jAtE z0pxqJyW86ZAY1jIqN@(V8%fzNDIt{JX&Y&iCZ?J&zIxAwBoj8cL1MJ5t$%j>nP0Si z^5AY%Q!9+4)0GLm36Et>(1oGXl1=doHqguEZrZ`kbJ>Z}T5;YQ{Hk(QfPs`z479k~ zFxhyLBm-I2L!n2UVj#~?Pip>EI-d-^ z5daL6hvwAcu-2%qohscdHR$QiDn@O&pANQQT=Vt}`HF&p>@Tlaiu<-2gp&=eMfE9-wAX3HWqCWYHS#Xi{%`a_pL7DEhoEAYicW z!Q0fx-{y8~zPP+K-s0Ui0O)+WtzVWedtT~Bj6NwT1?e=j`F-IW9v#J%pPHW5(9qZ& zpb>&s-4o%LkY_l1dU;vQ*8MMK*jN?KRO@Mdn<60`_i(wn(e3MwXG;4F0K8hGE_2%M zUmIp?)c~=1eC6c+(0w;>;7or;xVASF8S3dyow&Vtwj3#F!SIEy)MMcFq{vZD1 zlm4hMDJdE_S6f}~k6XoZUz-};t_=tX@R31so_bFlzemV9c%k^r2I0O$#(qntF<+DX z@|c*2g$G1rp~dD5^z<9d;oYjEnea$R6s@oKSHqpHcUBDz4HHotu&2ky0Q00@mWPLD zw{q}0M4^_e2+0Il#!az@da(Zg+AB8~w9bWffs-#R zEZ5h6X2pN_&~OaHgZlyld^+~5oBOA5e6YM4>#PeBe7>T=>+ldnn8J=rf1l3cMMXum zpcp2hU zAkug?!5(&435o?KVYA(yXWHBqk#)57I3!U_YewM>hwG#K-S)9 zb&QQgD`c)cIa{ftCHm2Vv{VR?W4?3_BgMm1Ru&c@`DWbh^MQfE8i?@?;n3iur=<-e z@)dFE0lafi7KwtBX}E#9Q_Sm}sD|U!{W_S<3?xa_t!7#HNX%`C#3Cyr1CNNvW8VS{ zuG8y+j%G_W+ZLdPnf*P(2uBHL<$^Q!DT%$Rs_M8tT&|FSO*h!^T*fl$TVCGf z&Q36lElMGGPm2?9Bmlwl_ZapnfiCPdF&-Ys8NV1v$^gVB7!GQ#-POWyE*MupMo#XB z1>A*Er-x*i$LHR?y*;c$05mvnw8jH!#h;^Dvs_c6T@Dn?w%`Q-aR4j9u#9V_e&GpF zAI(=KYymyJ0z!*@JsvW*+F;R8r~O@jz-@5dKu?d|q?hdb#aa_0+kgyV-Y6<6TB1uL z*Saa%&xOrRa)RXFd#m*(9w<=wqsn}Z5y^m$JWMDj6TT;)PfSeg?(Pm(^xtU$)U*{K zD(;#Hc(OF*Hop%J3Lggu$pl=e68=LX!_@j=&(HU)$Dyc?$Mduygi{a=Rn-|lelvqM zrN+g@RWOY4GVc8nov2)Zy=vTy_O-L%HMUlgkd5!l{Q0@VgBps#r+l%9BjnDRJkiM- zDG2!h&R%eYS(vE~pnU=KNWt#IWbB|x#2Kqu3z!ToIOHn{DJiN>%GShJC6gXMczXn~ z;Y~wHVls+uS0YQIzd*)zXN(?=Y)`ZQaK9NsRv=|B@I!z{fX;Ov##810&k@J}>$Ie< d$ksb_P<(YtD?Z)^aHtbXK}Ho+D`gt`zW@b~wEO@7 diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/adding-incorrect-data.png b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/images/adding-incorrect-data.png new file mode 100644 index 0000000000000000000000000000000000000000..13eac0b273a53dd9662ebf9963d2025b6dd9603f GIT binary patch literal 79035 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

W;|0?X0E;vp?mXM> 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 DVmDO5 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md index 2dd1944ff1..76ae7248fd 100644 --- a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md +++ b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md @@ -1,11 +1,11 @@ -# Using FluentValidation with ABP +# Using FluentValidation with ABP Framework ## What is Validation? Why Do We Need to Validate? -Validation is checking whether a data is valid or not. We can liken validations to the cell membrane of our application. Just as the cell does not want to let in harmful substances, we do not want to add erroneous data to the database, which is critical to our application. Validations allow data that follows the rules to reach the database. Data that does not comply with the rules will not access the database at all, and the operation will fail. +Validation is checking whether data is valid or not. We can liken validations to the cell membrane of our application. Just as the cell does not want to let in harmful substances, we do not want to add erroneous data to the database, which is critical to our application. Validations allow data that follows the rules to reach the database. Data that does not comply with the rules will not access the database at all, and the operation will fail. -![validation](./images/validation.png) +![Validation](./images/validation.png) -Validations make your application run more efficiently because they are not connected to the database. Validations should be applied in different layers of applications. Validations are applied on the UI side. Validations should also be applied on the backend side and database to prevent malicious users from passing these validations. Fluent validation is often used to create validations on the backend side. +Validations make your application run more efficiently as they are not directly tied to the database. They should be implemented across various layers of the application, including the UI, backend, and database, to prevent malicious users from bypassing these checks. Fluent validation is frequently employed for creating backend validations. ## What is Fluent Validation? Fluent validation is a library for checking whether data is valid or not. Fluent validation can be applied to your code in a fluent and understandable way. @@ -14,14 +14,18 @@ Fluent validation is a library for checking whether data is valid or not. Fluent ## Why We Should Use Fluent Validation? Fluent Validation allows you to define your validation rules in a clear and flexible way. This means you can comfortably handle complex validation scenarios in your code. This makes your development process much more manageable. The readability that Fluent Validation offers really makes things easier. Having a clear understanding of what your validation rules do is a huge advantage when working on your code. In short, your code is cleaner and clearer. Fluent Validation is also very functional in terms of testability. By defining your validation rules in separate classes, you can easily test and maintain these rules. Fluent Validation is a widely used validation library on the .NET platform. As such, it has become a common standard among .NET developers. This provides advantages in terms of community support and compatibility. So, using Fluent Validation simplifies your development process by making your code more understandable, manageable and testable. -## How to Use Fluent Validation in ABP? -![fluent validation](./images/abp-fluentvalidation.png) +In this section, I will show you how to use FluentValidation library within an ABP-based application. Therefore, I assume that you have an ABP-based application that has already been created. If you haven't created an ABP-based application yet, please follow the [Getting Started documentation](https://docs.abp.io/en/abp/latest/Getting-Started-Create-Solution?UI=MVC&DB=EF&Tiered=No). Using Fluent validation with Abp is quite simple. Open a command line window in the folder of the project (.csproj file) and type the following command: + +```bash abp add-package Volo.Abp.FluentValidation +``` + If you have not created your abp project, review the [steps to create](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Overall) it now. -Create your product object like this: +Create the `Product` entity as below: + ````csharp public class Product: FullAuditedAggregateRoot { @@ -31,8 +35,9 @@ Create your product object like this: public string? LicenseKey { get; set; } } ```` -Create the controller of your product object by following the [documentation](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Index?UI=NG&DB=EF) + You must have ProductCreateDto : + ````csharp public class ProductCreateDto { @@ -42,7 +47,8 @@ You must have ProductCreateDto : public string? LicenseKey { get; set; } } ```` -Create the ProductCreateDtoValidator class in the products folder in the Application.Contacts layer. +Create the `ProductCreateDtoValidator` class in the **Products** folder in the `Application.Contracts` project: + ````csharp public class ProductCreateDtoValidator :AbstractValidator { @@ -67,8 +73,20 @@ Create the ProductCreateDtoValidator class in the products folder in the Applica } } ```` -Fluent validation provides you with ready-made methods that you can use to write validations very easily. +The validator class you create should inherit from `AbstractValidator`. You should give `AbstractValidator` the class you want to validate generically. You have to create a constructor method. You must write the code in this constructor method. Fluent validation provides you with ready-made methods that you can use to write validations very easily. + +The **RuleFor** method allows you to write a validation rule. You must specify in the parameter for which property you want to write a validation rule. + +With the **NotEmpty** method you can specify that a property cannot be null. + +With **MinimumLength** and **MaximumLength** you can specify the minimum and maximum number of characters the property can take. + +With the **GreaterThanOrEqualTo** method you can specify that the value of the property must be greater than or equal to the value entered as a parameter. + +**WithMessage** method you can specify the message to be sent when the validation fails. + You can add a method to write your own customized validation code. For example, let's write the code that requires the license key field to contain the word “key”. + ````csharp private bool ContainsKey(string arg) { @@ -84,11 +102,13 @@ RuleFor(p => p.LicenseKey). WithMessage("Product license key must contain the word 'key'"); ```` +Try to add data that does not meet the validation rules +![Adding Incorrect Data](./images/adding-incorrect-data.png) -When I write code that does not follow the rule, we get this error +If one of the validation rules does not meet the rules, then the following error will be received for the custom rule that we defined: -![fluent validation](./images/error.png) +![Error](./images/error.png) For more information on Fluent validation, see the [documentation](https://docs.fluentvalidation.net/en/latest/)   From 3c47a56d6ce9b5fc2f5c70fba1207db352e98db4 Mon Sep 17 00:00:00 2001 From: Enes Doner Date: Wed, 8 May 2024 15:04:49 +0300 Subject: [PATCH 3/3] Add abp link --- .../2024-05-07-using-fluent-validation-with-abp/post.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md index 76ae7248fd..494f6a9a0a 100644 --- a/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md +++ b/docs/en/Community-Articles/2024-05-07-using-fluent-validation-with-abp/post.md @@ -10,7 +10,6 @@ Validations make your application run more efficiently as they are not directly ## What is Fluent Validation? Fluent validation is a library for checking whether data is valid or not. Fluent validation can be applied to your code in a fluent and understandable way. - ## Why We Should Use Fluent Validation? Fluent Validation allows you to define your validation rules in a clear and flexible way. This means you can comfortably handle complex validation scenarios in your code. This makes your development process much more manageable. The readability that Fluent Validation offers really makes things easier. Having a clear understanding of what your validation rules do is a huge advantage when working on your code. In short, your code is cleaner and clearer. Fluent Validation is also very functional in terms of testability. By defining your validation rules in separate classes, you can easily test and maintain these rules. Fluent Validation is a widely used validation library on the .NET platform. As such, it has become a common standard among .NET developers. This provides advantages in terms of community support and compatibility. So, using Fluent Validation simplifies your development process by making your code more understandable, manageable and testable. @@ -110,6 +109,7 @@ If one of the validation rules does not meet the rules, then the following error ![Error](./images/error.png) -For more information on Fluent validation, see the [documentation](https://docs.fluentvalidation.net/en/latest/) -  +For more information on fluent validation with abp framework, see the [documentation](https://docs.abp.io/en/abp/latest/FluentValidation) + +For more information on fluent validation, see the [documentation](https://docs.fluentvalidation.net/en/latest/)