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

اومدم از
قسمت نمایش
قسمت ویرایشگر پوسته
از بالا سمت چپ قالب فعالم رو انتخاب کردم
بالا سمت چپ سمت چپ فایل توابع پوسته functions.php رو انتخاب کردم

و کد زیر رو کپی کردم.
try {
function validate_code( $result, $value, $form, $field){
$g3=array('1234567890', '1234567898', '2345678909' )
if (in_array($value,$g3) ){}
else {
$result['is_valid'] = false;
$result['message'] = "شما در این گروه نیستید";
}
return $result;
}
add_filter( 'gform_field_validation_4_35', 'validate_code', 10, 4 );
}
catch (Exception $e) {var_dump($e);}
داخلش یه آرایه هست از کد ملی ها. البته من سه هزارتا کد ملی داشتم.
$g3=array('1234567890', '1234567898', '2345678909' )
پایین هم برای add_filter به ترتیب شماره فرمم و شماره فیلدم رو قرار دادم. اون ده و چهار آخر خط هم مال اولویت فیلتر هستن فک کنم.
add_filter( 'gform_field_validation_4_35', 'validate_code', 10, 4 );
حالا اگه کد ملی توی لیست نباشه خطا میگیریم

چند تا نکته:
- وقتی قالبتون رو به روز کنید فانکشنتون پاک میشه!
- برای نگه داشتن فانکشنتون بعد از به روز شدن قالب خیلی راحت یه قالب فرزند درست کنید. من فقط برای یک روز نیازش داشتم به همین خاطر بهم اهمیتی نداشت.
- ساختن فایل افزونه حتی از ساختن قالب فرزند هم ساده تره.


سلام
من می خواهم یک فیلد عددی بسازم که فقط 10 کارکتر بشه در آن تایپ کرد چطور می تونم این کار را کنم
باتشکر
من قبلن یه افزونه نوشتم که میشه باهاش این کار رو کرد. نمیدونم هنوز جواب میده یا نه.
از اینجا دانلود کن.
https://notabug.org/wp/geforms-regex-validator/
اگه درمورد رجکس هم آشنایی نداری این ویدیو رجکس جادی رو ببین
http://69b.ir/jrgx