بتاريخ: 23 أغسطس 201114 سنة comment_215260 السلام عليكم ورحمة الله تعالي وبركاتهإخواني الأعزاء قد يحتاج الكثير منا إلي أداة ما تقوم بفحص الـ Syntax لنص الإيميل المُدخل بالكامل ومقارنته بالمعايير التقنية الثابتة كالتأكد من وجود الرمز @ والتاكد من وجود com or .org. في نهايته وأن يبدأ بحروف وأن يكون باللغة الأنجليزية فقط وهكذا, ومن الطبيعي أن في كل هذه الحالات تريد أن يظهر رسالة خطأ للمستخدم تنبه بالتأكد من صحة البريد الألكتروني وكتابته بطريقة صحيحة.اليوم أن شاء الله تعالي اضع بين أيديكم الحل المتواضع والبسيط وهو عبارة عن خطوتين:أحدهما: علي مستوي قاعدة البيانات Stored Function Stand-alone or Stored Function Package والأخر: علي مستوي Oracle Forms Builderوإن كان هناك أي استفسار فانا موجودعلماً بأن هذا الحل - المتواضع جداً - غير مقتبس من أي موقع أو منتدي أخر إنما هو عُصارة مجهودي وفكري. Database Function jobs FUNCTION Check_email_syntax (Email_String VARCHAR2) RETURN NUMBER IS BEGIN IF (SUBSTR(Email_String, 1, 1) NOT BETWEEN 'A' AND 'Z')AND (SUBSTR(Email_String, 1, 1) NOT BETWEEN 'a' AND 'z') THEN RETURN 1; -- Send it to form to make your raise form trigger failure "Refer to must type your mail start with letter only" ELSIF(CHR_COUNT(Email_String, '@') <> 1) OR (CHR_COUNT(Email_String, '.') <> 1) OR (SUBSTR(UPPER(Email_String), -4) <> '.COM') OR (SUBSTR(Email_String, INSTR(Email_String,'@')+ 1, 1) NOT BETWEEN 'A' AND 'Z' AND SUBSTR(Email_String, INSTR(Email_String,'@')+ 1, 1) NOT BETWEEN 'a' AND 'z') THEN RETURN 2; -- Send it to form to make your raise form trigger failure "Refer to must type your email syntax properly" END IF; END Check_email_syntax; Form jobsWHEN-VAILDATE-ITEM/POST-ITEM Trigger BEGIN IF (:YOUR_EMAIL_FIELD IS NOT NULL) THEN IF (CHECK_EMAIL_SYNTAX(:YOUR_EMAIL_FIELD) = 1) THEN MESSAGE('the e-mail address must start with a letter only.'); BELL; SYNCHRONIZE; RAISE FORM_TRIGGER_FAILURE; ELSIF (CHECK_EMAIL_SYNTAX(:YOUR_EMAIL_FIELD) = 2) THEN MESSAGE('The e-mail address you have specified does not appear to be valid.'); BELL; SYNCHRONIZE; RAISE FORM_TRIGGER_FAILURE; END IF; END IF; END; كل ما أرجوه هو الدعاء لي بظهر الغيب بارك الله فيكم Your E-mail check.txt تم تعديل 23 أغسطس 201114 سنة بواسطة repotec تقديم بلاغ
بتاريخ: 26 أغسطس 201114 سنة كاتب الموضوع comment_215368 وهذا حل أخر إن شاء الله ولكن من باب حفظ الامانات هذا الحل مقتبس من منتدي اخر وقمت ببعض التعديلات عليه DECLARE dummy CHAR(1) := 0; BEGIN BEGIN dummy := '1'; SELECT '1' INTO dummy FROM DUAL WHERE :YOUR_EMAIL_FIELD LIKE '%@%.com' AND (SUBSTR(:YOUR_EMAIL_FIELD, 1, 1) BETWEEN 'A' AND 'Z' OR SUBSTR(:YOUR_EMAIL_FIELD, 1, 1) BETWEEN 'a' AND 'z'); EXCEPTION WHEN NO_DATA_FOUND THEN dummy := '0'; END; IF dummy = '1' THEN NULL; ELSE Message('The e-mail address you have specified does not appear to be valid.'); BELL; SYNCHRONIZE; RAISE FORM_TRIGGER_FAILURE; END IF; END; Your Email check2.txt تم تعديل 26 أغسطس 201114 سنة بواسطة repotec تقديم بلاغ
بتاريخ: 5 سبتمبر 201114 سنة comment_215540 بسم الله الرحمن الرحيمحل اخر DECLAREA VARCHAR2(10):='@';B VARCHAR2(50);BEGINIF :T1 <> A AND :T1 NOT BETWEEN 'A' AND 'Z' THENMESSAGE('COREECT THE MAIL');MESSAGE('COREECT THE MAIL');RAISE FORM_TRIGGER_FAILURE;CLEAR_FORM;END IF;EXCEPTION WHEN OTHERS THEN NULL; END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.