So validieren Sie E-Mails mithilfe des Funktionscodes der Yii-Modellvalidierungsregeln. In Yii können Sie auch überprüfen, ob E-Mail-Nachrichten vorhanden sind oder nicht.Wie überprüft man, ob E-Mails und E-Mails bereits existieren oder nicht, in Yii Framework?
Antwort
Sie können Ihr Modell Validierungen wie unten
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!'),
);
}
Yü Referenz Link für weitere Details festgelegt: http://www.yiiframework.com/wiki/56/
Sie können Ihre benutzerdefinierten Validierungsmethode erstellen Sie Ihre Anforderung zu erfüllen.
eine Funktion in Modellklasse erstellen:
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');
}
Benutzer dieses Validierungsverfahren in Regeln:
array('email', 'uniqueEmail','message'=>'Email already exists!'),
Schnell entweder E-Mail ist bereits in Ihrem db oder nicht durch die Definition der Regel finden .
Hier ist die Regel.
array('xxx', 'unique', 'className' => 'SomeClass', 'attributeName' => 'SomeAttribute'),
Beispiel.
public function rules() {
return array(
...
array('email', 'unique', 'className' => 'User', 'attributeName' => 'email', 'message'=>'This Email is already in use'),
...
);
}
Here i Validierung will auf E-Mail stellen, die einzigartig ist, meine Modellklasse Name Mitglied ist, ist attribut der Feldname der Tabelle heißt E-Mail und wenn E-Mail in der Tabelle bereits vorhanden ist, dann Meldung angezeigt.
Wenn es Fehler gibt, dann können Sie Ihre Tabelle ändern und das E-Mail-Feld eindeutig machen.
ALTER Benutzer TABLE UNIQUE ADD (E-Mail)
Dann überprüfen.
andere E-Mail-Validierungen sind in unten. was ich denke, komplette Reihe von E-Mail-Validierung.
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'),
...
); }
Das ist es. Danke
Benutzerdefinierte Validierung, kurz und süß Code. versuchen, dies es funktioniert gut -
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'),
);
}
schreiben diese benutzerdefinierte Funktion in demselben Modell -
public function uniqueEmail($attribute, $params)
{
if($user = User::model()->exists('email=:email',array('email'=>$this->email)))
$this->addError($attribute, 'Email already exists!');
}
Für Yii2 verwendete ich folgendes in einem Modell namens Register, die die Benutzerklasse verwenden.
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.'],
];
}
Sie müssen target verwenden und die Namepsace für die Klasse Benutzer setzen
Folgen Sie den wenigen Änderungen wie folgt: Folgen Sie Ihre Datei als pro Ihr Modul Sie verwendet haben.
Gehen Sie zu den Modellen -> öffnen-> Users.php -> Ändern Sie die Linie wie unten beschrieben.
public function rules()
{
return [
[['User_Email'], 'unique'],
[['User_Mobile'],'unique'],
];
}
Jetzt Aufrufe- Go> Benutzer -> Öffnen _form.php->, um den Code schreiben, wie unten erwähnt
<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>
Jetzt Controller-Go -> öffnen Sie UsersController.php -> wire den Code wie unten erwähnt
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);
}
}
Danke
- 1. Tracking eMails in Outlook 2007
- 2. Wie EMails in C# -Anwendung erhalten?
- 3. Wie verschicke ich HTML Emails mit Mailgun?
- 4. Wie überprüft man, ob Schlüssel oder Wert in Map existieren?
- 5. How do I deactivate GMail meter emails?
- 6. Umleiten von EMails mit Amazon SES-Dienst
- 7. Emails über SMTP mit DKIM senden
- 8. wie überprüft man, ob BLAS und ATLAS bereits installiert sind
- 9. Wie überprüft man, ob eine YII-App von einer Konsole oder vom Browser ausgeführt wird?
- 10. Wie überprüft man, ob Header bereits in PHP gesendet wurden
- 11. SSH.NET: Wie überprüft man, ob Datei oder Ordner bereits in anderen Großbuchstaben vorhanden ist
- 12. Wie überprüft man Präsenz in Phoenix Framework?
- 13. Wie überprüft man, ob eine Domain punycode ist oder nicht?
- 14. Wie überprüft man, ob NSTimer bereits ungültig gemacht wurde
- 15. php search imap emails als antwort auf header
- 16. Wie überprüft man, ob ein Thread bereits in Java gestartet ist oder nicht?
- 17. Wie überprüft man, ob WiFi verbunden ist oder nicht?
- 18. TCL: Wie überprüft man, ob die Umgebungsvariable bereits gesetzt ist
- 19. Wie überprüft man, ob ein Magento Produkt bereits im Warenkorb vorhanden ist oder nicht?
- 20. Zend Framework 2 - Wie überprüft man, ob ein Cookie existiert?
- 21. Wie überprüft man, ob die Sitzung bereits eine Transaktion geöffnet hat oder nicht im Ruhezustand?
- 22. Firebase-Datenbankregel - Wie überprüft man, ob der Login bereits existiert?
- 23. Wie überprüft man, ob der Benutzer bereits eingeloggt ist oder nicht?
- 24. Wie überprüft man, ob jQuery bereits im Cache ist?
- 25. Wie überprüft man, ob ein viewStub bereits aufgeblasen ist?
- 26. wie man eine einfache php-app senden sie emails von heroku cedar stack?
- 27. Ajax Wie überprüft man, ob der Benutzername bereits existiert?
- 28. Sitecore: Wie überprüft man, ob ImageMagick verwendet wird oder nicht?
- 29. Wie überprüft man, ob Cookies leer sind oder nicht
- 30. Wie überprüft man, ob optionale Klassenargumente angegeben sind oder nicht?