Come convalidare l'e-mail utilizzando il codice di funzione delle regole di convalida del modello Yii. Anche come controllare la posta elettronica o non utilizzare la funzione di regole di convalida del modello in Yii.Come convalidare la posta elettronica e l'e-mail esistono già o non controllano, in Yii Framework?
Come convalidare la posta elettronica e l'e-mail esistono già o non controllano, in Yii Framework?
risposta
È possibile impostare le convalide modello, come di seguito
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
//First parameter is your field name of table which has email value
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'unique','message'=>'Email already exists!'),
);
}
Yii Riferimento link per maggiori dettaglio: http://www.yiiframework.com/wiki/56/
È possibile creare il metodo di convalida personalizzato per soddisfare le vostre esigenze.
Creare una funzione nella classe del modello:
public function uniqueEmail($attribute, $params)
{
// Set $emailExist variable true or false by using your custom query on checking in database table if email exist or not.
// You can user $this->{$attribute} to get attribute value.
$emailExist = true;
if($emailExist)
$this->addError('email','Email already exists');
}
utente questo metodo di validazione nelle regole:
array('email', 'uniqueEmail','message'=>'Email already exists!'),
Si può trovare facilmente sia e-mail è già presente nel vostro db o no definendo la regola .
Ecco la regola.
array('xxx', 'unique', 'className' => 'SomeClass', 'attributeName' => 'SomeAttribute'),
Esempio.
public function rules() {
return array(
...
array('email', 'unique', 'className' => 'User', 'attributeName' => 'email', 'message'=>'This Email is already in use'),
...
);
}
Qui voglio mettere convalida e-mail, che è unica, il mio modello nome della classe è l'utente, attributeName è il nome del campo della tabella cioè email e se la posta elettronica è già presente nella tabella quindi visualizzare un messaggio.
Se dà errore, è possibile modificare la tabella e rendere unico il campo di posta elettronica.
ALTER TABLE utente ADD UNIQUE (e-mail)
Quindi controllare.
altre convalide e-mail sono in basso. quale penso set completo di convalida e-mail.
public function rules() {
return array(
...
array('email', 'required'),
array('email', 'length', 'max'=>200),
array('email', 'email', 'message'=>'Email is not valid'),
array('email', 'unique', 'className' => 'User', 'attributeName' => 'email', 'message'=>'This Email is already in use'),
...
); }
Questo è tutto. Grazie
Convalida personalizzata, codice breve e dolce. provare questo sta lavorando bene -
public function rules()
{
return array(
array('email, first_name, last_name, password, repeat_password', 'required'),
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'uniqueEmail'),
);
}
scrittura questa funzione personalizzata nella stesso modello -
public function uniqueEmail($attribute, $params)
{
if($user = User::model()->exists('email=:email',array('email'=>$this->email)))
$this->addError($attribute, 'Email already exists!');
}
Per Yii2 ho usato il seguente in un modello chiamato Registro che utilizzerà la classe utente.
public function rules()
{
return [
['Email', 'filter', 'filter' => 'trim'],
['Email', 'required'],
['Email', 'email'],
['Email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'],
];
}
è necessario utilizzare targetClass e mettere il Namepsace per la classe utente
Seguire le poche modifiche come di seguito: Seguire il file secondo il vostro modulo che avete utilizzato.
Vai a modelli -> apri-> Users.php -> Modifica riga come indicato di seguito.
public function rules()
{
return [
[['User_Email'], 'unique'],
[['User_Mobile'],'unique'],
];
}
Ora Vai a Views-> utenti -> Apri _form.php-> scrivere il codice come indicato di seguito
<div class="users-form">
<?php $form = ActiveForm::begin([
'id' => $model->formName(),
'enableAjaxValidation' => true,
]); ?>
<?= $form->field($model, 'User_Email')->textInput(['maxlength' => true])?>
<?= $form->field($model, 'User_Mobile')->textInput(['maxlength' => true])?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
Ora Vai al controller -> apri UsersController.php -> wirte il codice come indicato sotto
public function actionCreate()
{
if(Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())){
Yii :: $app->response->format = 'json';
return \yii\bootstrap\ActiveForm::validate($model);
}
}
Grazie
- 1. Come testare la logica della posta elettronica con Play Framework
- 2. convalidare l'indirizzo di posta elettronica nel UITextField in iphone
- 3. Come convalidare la formattazione dell'indirizzo e-mail con .NET Framework?
- 4. convalidare più messaggi di posta elettronica con JavaScript
- 5. : Blocco log e posta elettronica
- 6. Come convalidare la presenza nel framework Phoenix?
- 7. convalida indirizzo di posta elettronica non latino
- 8. Come controllare l'indirizzo di posta elettronica esiste o no?
- 9. convalida campo di posta elettronica
- 10. Devise change email non aggiorna la posta elettronica
- 11. cos'è Yii :: app() in framework php yii
- 12. CListView in Yii Framework
- 13. configurazione della posta elettronica gitlab
- 14. controllano gli IP se esistono in/etc/hosts
- 15. Java: aprire l'applicazione di posta elettronica predefinita e creare nuovi campi di posta elettronica e campi A e Oggetto
- 16. Regex: come rimuovere la posta elettronica prima del simbolo "@"?
- 17. convalida della posta elettronica in applicazione rapida iOS
- 18. Integrando la modalità org di Emacs con la posta elettronica?
- 19. rilevamento della mancanza di posta elettronica
- 20. Invio di allegati di posta elettronica con Meteor.js (pacchetto email e/o nodemailer o altro)
- 21. Come convalidare le credenziali smtp prima di inviare la posta?
- 22. Codifica corpo posta elettronica Python 3
- 23. Come inviare un messaggio di posta elettronica con immagini in linea utilizzando zend framework?
- 24. Come rimuovere index.php in Yii Framework
- 25. Come estendere MailboxHeader.php in Swift Mailer o convalidare e-mail
- 26. Impostazione account di posta elettronica EC2
- 27. L'invio di posta elettronica con la boccetta-Mail
- 28. Imposta posta elettronica come nome utente in Django 1.5
- 29. Esiste un file modello di posta elettronica come * .oft, che può essere aperto in tutti i programmi di posta elettronica?
- 30. subscribeToPullNotifications non rileva nuovi messaggi di posta elettronica in casella di posta