پیش به سوی تابستان؛ با تخفیفهای داغ راکت!
بزن بریم!با سلام دوستان عزیزم
بنده یک فرم دارم که می خوام کاربر داخل این فرم شماره موبایل، ایمیل یا نام کاربری رو وارد کنه و خودکار تشخیص بده که کاربر کدوم یکی از اینا رو وارد کرده
و اینکه مثلا اگر موبایل هست validation موبایل رو انجام بده
اگر ایمیل هم هست همینطور
ممنون میشم مثل همیشه دوستان راهنمایی کنن
@TimeRunner2359
@ashkannazari248
@masoudproton
@milad
@ali.bayat
@Alimotreb
@hesammousavi
@endworld
@code2code
@khanzadimahdi
@info.aligraph
@SeyedMH.Mosavi
سلام. با این کد میتونید. با پکیج های اعتبار سنجی هم میتونید
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
}
@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 تغییر بدید
سلام. با این کد میتونید. با پکیج های اعتبار سنجی هم میتونید
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
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟