یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهابا سلام
داخل فرم ها اگر کاربر زبان تایپ رو بزاره رو فارسی موقع ثبت اطلاعات عددی مثل شماره موبایل ارور میده به این صورت که انگار چیزی وارد نشده و اگه هم شده مقدار وارد شده رو صحیح نمیدونه :/
این مشکل وقتی سایت توسط کامپیوتر لود میشه نیست و فقط در موبایل و ... به وجود میاد
کسی میدونه علت و راهکار برطرف کردنش چیه؟
@hossein0065 یک میدلویر درست کنید به اسم normalizeNumbers و هروقت رکوئست mobile یا password یا هر چیزی که میاز دارید وجود داشت اعداد فارسی و عربی رو به لاتین تبدیل کنید.
اگر متوجه نشدید بگید بیشتر توضیح بدم
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TransformsRequest;
class NormalizeNumbersMiddleware extends TransformsRequest
{
protected $attributes = [
'mobile',
'password',
];
protected function transform($key, $value)
{
if (in_array($key, $this->attributes)) {
$value = normalize_number($value);
}
switch ($key) {
case 'mobile':
$mobile = str_replace(' ', '', trim($value));
$value = '0' . substr($mobile, -10);
$mobilePat = '/^09[0-9]{9}$/';
if(!preg_match($mobilePat, $value)){
return 'invalid';
}
break;
}
return $value;
}
}
اینم متدی که تو helper باید استفاده کنید.
function normalize_number($string)
{
$persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$arabic = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩', 'ك', 'ي');
$standard = range(0, 9);
array_push($standard, 'ک', 'ی');
return str_replace($persian, $standard, str_replace($arabic, $standard, $string));
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟