میلاد بسحاق
4 سال پیش توسط میلاد بسحاق مطرح شد
4 پاسخ

چک کردن نوع لاگین

با سلام دوستان عزیزم

بنده یک فرم دارم که می خوام کاربر داخل این فرم شماره موبایل، ایمیل یا نام کاربری رو وارد کنه و خودکار تشخیص بده که کاربر کدوم یکی از اینا رو وارد کرده
و اینکه مثلا اگر موبایل هست validation موبایل رو انجام بده
اگر ایمیل هم هست همینطور

ممنون میشم مثل همیشه دوستان راهنمایی کنن
@TimeRunner2359
@ashkannazari248
@masoudproton
@milad
@ali.bayat
@Alimotreb
@hesammousavi
@endworld
@code2code
@khanzadimahdi
@info.aligraph
@SeyedMH.Mosavi


ثبت پرسش جدید
اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 4 سال پیش مطرح شد
0

سلام. با این کد میتونید. با پکیج های اعتبار سنجی هم میتونید

if (/^(0|\+98)[9](0|1|2|3|9)[0-9]{8,8}$/g.test(myValue)) {
    //mobile
} else if (/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(myValue)) {
    //email
} else {
    //not valid
}

woz
تخصص : fan of open source world
@wozniak 4 سال پیش آپدیت شد
0

@miladboshagh
این مثال برای موبایل و یوزر نیم هست . خودتون شبیه همینا ایمیل رو اضافه کنید . login controller به شکل زیر باشه

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */
    protected $username = 'login';

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
        $this->username = $this->findUserName();
    }

    public function username()
    {
        return $this->username;

    }

    public function findUserName()
    {
        $phone = preg_replace('/[^0-9]/', '', request()->get($this->username()));
        $login = request()->input('login');
        $fieldType = strlen($phone) == 11 ? 'tel' : 'username';

        request()->merge([$fieldType => $login]);
        return $fieldType;

    }

    public function credentials(Request $request)
    {
        return $request->only($this->username(), 'password');
    }

    protected function validateLogin(Request $request)
    {

        $validateCond = $this->username() == "tel" ? 'required|regex:/[0-9]{11}/|digits:11' : 'required|string';

        $request->validate([
            $this->username() => $validateCond,
            'password' => 'required|string',
        ]);
    }

}

و داخل ویو لاگین هم name رو برای فیلد شماره تلفن و .. به login تغییر بدید


میلاد بسحاق
@miladboshagh 4 سال پیش مطرح شد
0

@wozniak داداش مشکل من اینجاست می خوام اول متوجه بشم که نوع مقدار وارد شده چیه


woz
تخصص : fan of open source world
@wozniak 4 سال پیش مطرح شد
0

@miladboshagh
همین کار رو انجام میده


اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 4 سال پیش مطرح شد
0

سلام. با این کد میتونید. با پکیج های اعتبار سنجی هم میتونید

if (/^(0|\+98)[9](0|1|2|3|9)[0-9]{8,8}$/g.test(myValue)) {
    //mobile
} else if (/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(myValue)) {
    //email
} else {
    //not valid
}

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

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