اعتبار سنجی ورودی


#1

سلام دوستان !
برای من یکی از کسل ترین کارها که اصلا خوشم نمیاد اعتبار سنجی ورودیه ! خیلی دوست دارم بدونم بقیه برای اعتبار سنجی چه فرانت اند چه بک اند چکار میکنن و از چه کتابخونه هایی استفاده میکنند یا اصلا نمیکنند ؟


#2

سلام ممنون، ما همه خوبیم، چه خبرا؟

ببخشید اطلاعات کافی نبود فکر کردم داری احوال پرسی میکنی🤔


#3

:yum::yum::yum:شکر خدا که خوب هستین .

سوال خوب در مورد اعتبارسنجیه مثلا در فرانت اند برای اعتبارسنجی چیکار میکنید ؟ اینکه مثلا نام کاربری اولش عدد نباشه ، یکی از حروف معتبر باشه ! طولش مثلا ۳۰ کاراکتر باشه و… خلاصه اعتبار سنجی فرم ها و… چیکار میکنید ؟


#4

در کل دنبال راه فرار می گیردند تا دیگه این همه اعتبارسنجی برای ورودی های خودشون هر دفعه ننویسند . این چیزی که من فهمیدم


#5

این چطوره؟
http://hackage.haskell.org/package/Validation-0.2.0/docs/Data-Validation.html
اگر لازم بود میتونم کمکت کنم که باش کار کنی

اگر بگی از هسکل خوشت نمیاد مجبور میشم برم یه مدتی توی بیابون زندگی کنم تا در تنهایی و خلوت خودم به آرامش برسم


#6

اینم ببینی بد نیست


#7

خود django به صورت خودکار اینکارو انجام میده. وقتی یه model یا یه form تعریف میکنیم، و نوع ورودی رو به صورت CharField یا EmailField تعریف میکنیم، اعتبارسنجی تا یه حدی انجام میشه.
تو قسمت form ها میشه، یه متد clean تعریف کرد که فیلتر های بیشتری رو اعمال میکنه.


#8

درسته، استفاده از ماژول validations از django.core هم فکر بدی نیست.
میتونی حتی از ActiveModel::Validator ریلز هم استفاده کنی که خیلی هم قدرتمنده و اگر با jvm سرو کار داری با استفاده از warbler و jruby فایل war درست کنی که پرفرمنس کارت هم بره بالا.
کار مشابهی هم برای پایتون امکانپذیره.
اما دلیل اینکه مثال هسکل زدم پترن مچینگ خیلی قوی هسکل بود و اینکه هدفم کم کردن از پیچیدگی بود.
در ضمن میتونی خودت یه ماژل ولیدیشن ساده بنویسی و مرتب بهش اضافه کنی. سورسشم باز کن و تست خوب براش بنویس که دیگران هم کمکت کنن.
میتونی مثلا با golang - چون یادمه علاقه داشتی - ولیدیتور خیلی پر سرعت و سبکی بسازی.


#9

برای پایتون، یعنی چی؟ توی django اکثر اوقات از کد معمولی پایتون استفاده میکنیم. این روش فرق داره؟


#10

منظورم کمپایل کردن به war file بود برای jvm، چون حدس زدم با jvm سرو کار داره.
Jython بود دیگه

https://docs.microfocus.com/OMi/10.63/Content/RTSM/dfm/probe_setup_r_contdata_valid_scrpts.htm


#11

بله همینطوره که شما فرمودین، همه کد های جنگو کد معمولی python هست که DSL جنگو بهش اضافه شده.

حالا بجز قسمتهایی که به js مربوط میشه


#12

تنها قسمتیه که واقعا ازش متنفرم و هنوزم نتونستم آسونترین راه رو براش پیدا کنم انقدر درگیرش نشم ! تو برای فرانت اند تو پروژه هات چیکار میکنی ؟ خودت یه چیز شخصی نوشتی یا از کتابخونه خاصی استفاده میکنی ؟


#13

برای فرانت اند چیکا میکنی ؟


#14

شب حتما یه نگاهی بهش میندازم ، اما در مورد اینکه از هسکل خوشم میاد یا نه باید بگم بیابون که میری حتما پارچه نخی ببر چون از هسکل خوشمم بیاد فعلا به اون حد از توانایی و فکر کردن به روش فانکشنال نرسیدم که برم سراغ یه زبون فانکشنال دیگه ! :rofl::rofl::rofl::rofl:
راستی عزیز برای فرانت اند شما چیکا میکنی تو پروژه هاتون ؟


#15

برای اعتبارسنجی یه فرم، همزمان که کاربر داره اطلاعات رو وارد میکنه، یعنی قبل از اینکه اطلاعات رو برای back-end بفرسته، از Ajax استفاده میکنن معمولاً.
تو اون کتابی که من برای یادگیری django خوندم، نویسندش برای front-end از Ajax استفاده کرده بود. ولی از کتابخونۀ خاصی استفاده نکرده بود و کد رو خودش نوشته بود. یه فرم ثبت نام بود که درست بودن ورودی هاش رو کنترل میکرد.


#16

و

https://validatejs.org/


#17

سلام
اگر واقعا داری یک قطعه کدی رو چندی بار تکرار میکنی خب بشین یکبار برای همیشه مشکلت رو حل کن و یه کتابخونه جمع و جور واسه خودت بنویس.


#18

منم موافقم.
یا از یک ولیدیتور استفاده کنه و خودش لایه هایی که کم داره یا میخواد عوض کنه رو اضافه کنه


#19

:joy::joy:خودمم به این خیلی فک کردم اما نمیدونم چرا هیچوقت نمیکنم ! اعتبارسنحی واقعا برای من چیز دردآوری هست


#20

خب باید یکبار دردش واسه همیشه تحمل کنی و دیگه راحت باشی. مثل آمپول زدنه که اولش درد داره ولی بعدش خوب خوب میشه حتی بهتر از دیروز