it-swarm.asia

نموذج التحقق من صحة البريد الإلكتروني

ما هي أفضل طريقة للتعامل مع التحقق من صحة البريد الإلكتروني من جانب الخادم في نموذج API؟
هل يمكن تنفيذه في مكان ما داخل جزء من النموذج الموصوف أدناه أم أن هناك خيارات أخرى؟

 $form['address']['mail'] = array(
   '#type' => 'textfield',
   '#title' => t('E-mail'),
   '#required' => TRUE,
   '#default_value' => $subscription->mail,
   '#maxlength' => 255,
 ); 

 $form['submit'] = array(
   '#type' => 'submit',
   '#value' => t('Versturen'),
 );

 return $form;
}
9
JurgenR

إنشاء وظيفة التحقق من صحة النموذج الخاص بك. هنا مثال باستخدام النموذج الخاص بك. على سبيل المثال ، لنفترض أن رمز النموذج الخاص بك في دالة تسمى my_email:

<?php
function my_email() {
  $form = array();

  $form['address']['mail'] = array(
   '#type' => 'textfield',
   '#title' => t('E-mail'),
   '#required' => TRUE,
   '#default_value' => $subscription->mail,
   '#maxlength' => 255,
  ); 

  $form['submit'] = array(
   '#type' => 'submit',
   '#value' => t('Versturen'),
  );

  return $form;
}

function my_email_validate($form, &$form_state) {
  // YOUR CUSTOM VALIDATION CODE GOES HERE
 if (!valid_email_address($mail)) {
   form_set_error('submitted][email_address', t('The email address appears to be invalid.'));
   }
}

function my_email_submit($form, &$form_state) {
  // YOUR CUSTOM SUBMIT CODE GOES HERE
}
?>

ستتيح لك هذه الوظيفة كتابة رمز مخصص لتحديد ما إذا كانت القيم التي تم إدخالها في حقولك صالحة أم لا. يمكنك أيضًا إضافة وظيفة إرسال مخصصة لنموذجك لتنفيذ التعليمات البرمجية المخصصة أثناء إرسال النموذج.

اقرأ المزيد حول التحقق من صحة النماذج على التحقق من النماذج ، وإرسال النماذج على إرسال النماذج أو اقرأ المقالة بأكملها لفهم أفضل لواجهة برمجة التطبيقات الخاصة بالنماذج: Form API Quickstart Guide

5
Laxman13

بدلاً من إضافة معالج التحقق من صحة النموذج إلى النموذج ، يمكنك إضافة معالج التحقق من الصحة إلى عنصر النموذج الذي يجب التحقق من صحته: استخدم # element_validate ، الذي يقبل مصفوفة من معالجات التحقق التي سيتم تطبيقها على عنصر النموذج.

$form['email'] = array(
  '#type' => 'textfield',
  '#title' => 'Email',
  '#required' => TRUE,
  '#element_validate' => array('myelement_email_validate')
);

يتلقى معالج التحقق ثلاث حجج: عنصر النموذج الذي يتم التحقق من صحته ، $form_state و ال $form صفيف للنموذج الذي يحتوي على عنصر النموذج. يجب أن يستدعي معالج التحقق form_error () أو form_set_error () للإبلاغ عن أي خطأ في التحقق.

function myelement_email_validate($element, &$form_state, $form) {
  $value = $element['#value'];
  if (!valid_email_address($value)) {
    form_error($element, t('Please enter a valid email address.'));
  }
}
5
nmeegama

موضح هنا: http://drupal.org/node/279127

<?php
$mail = $form_values['submitted_tree']['email_address'];
if (!valid_email_address($mail)) {
  form_set_error('submitted][email_address', t('The email address appears to be invalid.'));
}
?>
3
artfulrobot

قم بتثبيت حقل البريد الإلكتروني الوحدة وقم بتصحيحها باستخدام التصحيح في التعليق 16. ثم استخدم الكود الموجود في وصف المشكلة المرتبطة لتحديد حقل بريدك الإلكتروني من خلال التحقق من الصحة المدمج:

$form['email'] = array(
    '#type' => 'email',
    '#title' => t('Email'),
    '#required' => TRUE,
    '#default_value' => "",
    '#description' => "Please enter your email.",
    '#size' => 20,
    '#maxlength' => 20,
  );
0
Roger

يمكنك فقط استخدام الوحدة Elements واستخدام "emailfield" في خاصية #type لعنصر النموذج ، تمامًا كما يلي:

 $form['YOUR_FIELD_KEY'] = array(
    '#type' => 'emailfield',
    '#title' => t('Email'),
    '#size' => 20,
    '#maxlength' => 20,
    '#description' => t('Enter a valid email'),
    '#required' => TRUE,
  );

بهذه السهولة مع وحدة العناصر ، تأكد من أن التحقق المخصص لحقل بريد إلكتروني بسيط ليس له معنى ، ليس عليك إعادة اختراع العجلة ...

0
svelandiag