تمدید شد! تا ۶۰ درصد تخفیف شگفت انگیز نوروزی! {{افزایش قیمت آموزش‌ها در سال جدید}}

اطلاعات بیشتر..
ثانیه
دقیقه
ساعت
روز
مهدی
5 روز پیش توسط مهدی مطرح شد
3 پاسخ

افزودن خودکار پسوند یوزرنیم

سلام وقت همه دوستان به خیر

من از بک اند نود جی اس و فرانت ریکت نیتیو استفاده میکنم
میخواستم زمانی که کاربر ثبت نام کرد به یوزرنیمش بطور خودکار فرضا @roocket.ir اضافه شه

username@roocket.ir

این کارو باید تو کدوم قسمت انجام بدم تو بک اند باشه یا فرانت؟؟

به اینصورت تو فرانت کاربر یوزرنیمشو وارد میکنه


            <View style={styles.inputGroup}>
              <Text style={styles.label}>Username</Text>
              <View style={styles.inputContainer}>
                <Ionicons
                  name="person-outline"
                  size={20}
                  color={COLORS.primary}
                  style={styles.inputIcon}
                />
                <TextInput
                  style={styles.input}
                  placeholder="Username"
                  placeholderTextColor={COLORS.placeholderText}
                  value={username}
                  onChangeText={setUsername}
                  autoCapitalize="none"
                />
              </View>
            </View>```

ثبت پرسش جدید
محمدکیان محمودی چناری
تخصص : دانشجوی مهندسی کامپیوتر
@KEANU2003 5 روز پیش مطرح شد
0

برای انجام چنین کاری، بهترین مکان برای اضافه کردن "@roocket.ir" به نام کاربری معمولاً در بک‌اند هستش.

دلایل این انتخاب:

1. امنیت: انجام این فرآیند در بک‌اند باعث می‌شود که کاربر نتواند به صورت دستی تغییرات غیرمجاز در فرانت ایجاد کند.
2. یکپارچگی داده‌ها: زمانی که نام کاربری در بک‌اند تنظیم شود، تضمین می‌شود که قالب مشخصی در تمام درخواست‌های ثبت‌نام رعایت شده است.
3. تسهیل مدیریت: انجام تغییرات در بک‌اند باعث می‌شود مدیریت داده‌ها در پایگاه داده آسان‌تر شود و خطاهای احتمالی در فرانت جلوگیری شود.

با این حال، می‌توانید در فرانت‌اند این روند را برای نمایش فوری پیاده‌سازی کنید تا کاربر بتواند نام کاربری نهایی (به همراه @roocket.ir) را هنگام تایپ مشاهده کند و متوجه تغییرات شود. این کار باعث بهبود تجربه کاربری می‌شود.

راه‌حل ترکیبی:

  • فرانت‌اند: هنگام تایپ نام کاربری، به صورت لحظه‌ای (real-time) "@roocket.ir" را به نام کاربری نمایش دهید. این کار را می‌توانید با استفاده از رویدادهای onChange در React Native پیاده‌سازی کنید.
  • بک‌اند: هنگام ذخیره نام کاربری در پایگاه داده، به‌طور خودکار "@roocket.ir" را به نام کاربری اضافه کنید.

مهدی
@saras998 4 روز پیش مطرح شد
0

متشکرم دوست عزیز
من از سمت بک اند اینکارو انجام دادم و همه چیز به درستی داره انجام میشه
الان سوالی که واسم پیش اومده اینه که اگه کاربر بیاد به صورتی دستی @ رو به یوزنیمش اضافه کنه نام کاربریش فرضا به این شکل
username@name@roocket.ir ثبت میشه و این یخورده مشکل هس واسم الان این مشکلو به چه صورت میتونم درستش کنم؟
خیلی ممنونم ازت

@KEANU2003


محمدکیان محمودی چناری
تخصص : دانشجوی مهندسی کامپیوتر
@KEANU2003 4 روز پیش مطرح شد
0

سلام مجدد

اگه کاربر خودش دستی @ اضافه کنه و مثلاً بنویسه username@name@roocket.ir، می‌تونی تو بک‌اند قبل از ذخیره، اینو چک کنی یا اصلاحش کنی.

چندتا راهکار ساده:

  1. چک کن فقط یک @ باشه:
    با یه Regex ساده می‌تونی مطمئن شی که نام کاربری فقط یه @ داره و حتماً به شکل username@roocket.ir هست. اگه مشکل داشت، ارور بده. مثلاً:

    const validFormat = /^[a-zA-Z0-9_.]+@roocket.ir$/;
    if (!validFormat.test(username)) {
       return res.status(400).json({ msg: "نام کاربری معتبر نیست!" });
    }
  2. اصلاحش کن:
    اگه نام کاربری اشتباه بود، خودت درستش کن و اضافه‌ی @‌ها رو حذف کن:

    const sanitizedUsername = username.split("@")[0] + "@roocket.ir";
  3. توی بک‌اند همیشه چک کن:
    حتی اگه تو فرانت کاربر خطا نبینه، بک‌اند باید همیشه مطمئن شه نام کاربری درست ذخیره می‌شه. هیچ‌وقت فقط به اعتبارسنجی فرانت اعتماد نکن.

خلاصه، موقع ذخیره تو دیتابیس، اول چک کن قالب درسته یا نه، اگه اشتباه بود یا اصلاحش کن یا ارور بده. اینجوری مشکلت حل می‌شه!

اگا بازم مشکلی داشتی حتما بگو👍


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام