it-swarm-id.com

Formulir validasi email api

Apa cara terbaik untuk menangani validasi email sisi server dalam bentuk API?
Bisakah itu diterapkan di suatu tempat di dalam formulir yang dijelaskan di bawah ini atau ada opsi lain?

 $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

Buat fungsi validasi untuk formulir Anda. Berikut ini contoh menggunakan formulir Anda. Misalnya, katakan kode formulir Anda dalam fungsi yang disebut 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
}
?>

Fungsi ini akan memungkinkan Anda untuk menulis kode khusus untuk menentukan apakah nilai yang dimasukkan dalam bidang Anda valid atau tidak. Anda juga dapat menambahkan fungsi pengiriman kustom untuk formulir Anda untuk mengeksekusi kode kustom saat formulir sedang dikirim.

Baca lebih lanjut tentang memvalidasi formulir di Formulir Validasi , mengirimkan formulir di Mengirimkan Formulir atau membaca seluruh artikel untuk pemahaman yang lebih baik tentang API Formulir: Panduan Ringkas API Formulir API)

5
Laxman13

Alih-alih menambahkan penangan validasi formulir ke formulir, Anda bisa menambahkan penangan validasi ke elemen formulir yang perlu divalidasi: Gunakan # element_validate , yang menerima larik penangan validasi yang akan diterapkan ke elemen bentuk.

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

Penangan validasi menerima tiga argumen: Elemen form yang divalidasi, $form_state dan $form array untuk form yang berisi elemen form. Penangan validasi harus memanggil form_error () atau form_set_error () untuk melaporkan kesalahan validasi.

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

Dijelaskan di sini: 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

Instal Bidang Email modul dan tambal dengan patch pada komentar 16. Kemudian gunakan kode dalam deskripsi masalah yang ditautkan untuk menentukan bidang email Anda dengan validasi bawaan:

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

Anda cukup menggunakan modul Elemen dan cukup gunakan 'bidang email' di properti #type elemen formulir, seperti ini:

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

Semudah itu dengan modul elemen, buat validasi khusus untuk bidang email sederhana tidak masuk akal, Anda tidak perlu menemukan kembali roda ...

0
svelandiag