با سلام دوستان عزیزم
بنده یک فرم دارم که می خوام کاربر داخل این فرم شماره موبایل، ایمیل یا نام کاربری رو وارد کنه و خودکار تشخیص بده که کاربر کدوم یکی از اینا رو وارد کرده
و اینکه مثلا اگر موبایل هست 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
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟