راهنما و مستندات محصول فرم ساز پیشرفته RSForm Pro

مشاهده و خرید محصول

اعتبار سنجی فیلد کد ملی در RSForm Pro

تاریخ ایجاد : 1397/09/27

شاید در یک پروژه برای شما پیش آمده باشد که بخواهید فیلد کد ملی قرار دهید و صرفا قرار دادن فیلد کافی نخواهد بود و باید حتما اعتبار سنجی این فیلد را هم قرار دهید؛ اعتبار سنجی برای فیلد کد ملی بصورت پیشفرض درون آر اس فرم وجود ندارد و باید به عنوان یک اعتبار سنجی سفارشی به آن اضافه کنیم.

توجه
قبلا مقاله آموزشی اعتبار سنجی سفارشی برای فرم ساز RSForm Pro توسط جومینا مارکت منتشر شد که قبل از هر چیزی باید آن را مطالعه کنید چرا که پایه و اساس مفهوم این مقاله بر اساس اعتبار سنجی سفارشی خواهد بود.

گام اول

 به مسیر زیر رفته و فایل customvalidation.php را با یک ویرایشگر متنی باز کنید :

YOUR_JOOMLA_ROOT/components/com_rsform/helpers/

 نکته : در صورتی که این فایل را مشاهده نمی کنید به این معنی است که این آموزش را مطالعه نکرده و طبق دستورات آن پیش نرفته اید فلذا قبل از هر چیزی آموزش مذکور را مطالعه و این فایل را طبق دستورات داده شده در آموزش، ایجاد کنید.

 تابع زیر را به کلاس RSFormProCustomValidations اضافه کنید :

public static function MeliCodeValidation($value, $extra = null, $data = null)
	{

		if(!preg_match('/^[0-9]{10}$/',$value)) {
			return false;
		}
		
		for($i=0;$i<10;$i++) {
			if(preg_match('/^'.$i.'{10}$/',$value)) {
				return false;
			}
		}
		
		for($i=0,$sum=0;$i<9;$i++) {
			$sum += ((10-$i) * intval(substr($value, $i,1)));
		}
		
		$mod = $sum % 11;
		$parity = intval(substr($value, 9,1));
		if(($mod < 2 && $mod == $parity) || ($mod >= 2 && $mod == (11 - $parity))) {
			return true;
		}
		
		return false;
	}

 ممکن است این کلاس درون فایل از قبل دارای تابع های متعددی باشد که نیازی به تغییر یا حذف آنها نیست بلکه فقط تابع بالا به کلاس مذکور باید اضافه شود.

گام دوم

 یک فیلد متنی ایجاد کرده و تمامی ویژگی ها را طبق نیاز تان پر کنید؛ در تب اعتبار سنجی ، گزینه ی "نوع معتبر سازی" را روی مقدار MeliCodeValidation تنظیم کنید :

 در سر برگ "خواص" و زیر منوی ویرایش فرم ، گزینه "استفاده از معتبر سازی ای جکس" را روی بلی قرار دهید تا اعتبار سنجی ها بصورت AJax انجام شود و نیازی به ارسال و تاییدیه از سمت سرور نباشد.

 به همین راحتی می توانید اعتبار سنجی کد ملی افراد را در فرم ساز RSForm Pro ایجاد کنید.

در صورتی که به هر دلیلی موفق به انجام این کار نشده اید می توانید سفارش انجام این کار را به جومینا مارکت بسپارید؛ برای این کار لطفا از بخش پشتیبانی اقدام به برقراری تماس با واحد پشتیبان جومینا مارکت کنید.