Crie uma função de validação para o seu formulário. Aqui está um exemplo usando seu formulário. Por exemplo, digamos que seu código de formulário esteja em uma função chamada 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
}
?>
Esta função permitirá que você escreva um código personalizado para determinar se os valores inseridos em seus campos são válidos ou não. Você também pode adicionar uma função de envio personalizada ao seu formulário para executar código personalizado enquanto o formulário está sendo enviado.
Leia mais sobre a validação de formulários em Validando formulários , enviando formulários em Enviando formulários ou leia o artigo inteiro para entender melhor a API de formulários : Guia de início rápido da API de formulários
Em vez de adicionar um manipulador de validação de formulário ao formulário, você pode adicionar um manipulador de validação ao elemento do formulário que precisa ser validado: Use #element_validate , que aceita uma matriz de manipuladores de validação que serão aplicados ao elemento do formulário.
O manipulador de validação recebe três argumentos: O elemento do formulário que está sendo validado
$form_state
e a$form
matriz do formulário que contém o elemento do formulário. O manipulador de validação deve chamar form_error () ou form_set_error () para relatar qualquer erro de validação.fonte
Explicado aqui: http://drupal.org/node/279127
fonte
Você pode simplesmente usar o módulo Elements e usar o 'emailfield' na propriedade #type do elemento form, assim:
Simplesmente fácil com o módulo Elements, faça a validação personalizada para um campo de email simples não ter sentido, você não precisa reinventar a roda ...
fonte
Instale o módulo Email Field e corrija-o com o patch no comentário 16. Em seguida, use o código na descrição do problema vinculado para definir seu campo de email com a validação incorporada:
fonte
O endereço de e-mail pode ser validado com seu manipulador de validação de formulário
Se function
your_form
define seu formulário, o manipulador de validação padrão seriayour_form_validate
ou você também pode configurá-lo manualmentefonte