Yiiモデル検証ルール機能コードを使用して電子メールを検証する方法。 Yiiのモデル検証ルール機能を使用して電子メールの有無をチェックする方法もあります。Yii Frameworkでは、電子メールと電子メールを検証する方法が既に存在するかどうかチェックしますか?
答えて
あなたは詳細については
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の参考リンク以下のようにモデルの検証を設定することができます:http://www.yiiframework.com/wiki/56/
あなたの要件を満たすためにあなたのカスタム検証メソッドを作成することができます。
モデルクラス内の関数を作成します。ルールで
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');
}
ユーザーこの検証方法:あなたが簡単に見つけることができるいずれかの電子メールは、ルールを定義することによって、既にあなたのDBに存在しているかいない
array('email', 'uniqueEmail','message'=>'Email already exists!'),
を。
ここにルールがあります。
array('xxx', 'unique', 'className' => 'SomeClass', 'attributeName' => 'SomeAttribute'),
例。
public function rules() {
return array(
...
array('email', 'unique', 'className' => 'User', 'attributeName' => 'email', 'message'=>'This Email is already in use'),
...
);
}
ここで私がユニークである、電子メールの検証を置きたい、私のモデルクラス名がユーザーである、attributeNameには、テーブル、すなわち、電子メールのフィールド名、電子メールがあなたのテーブルに既に存在する場合、メッセージを表示します。
エラーが発生した場合は、テーブルを変更して電子メールフィールドを一意にすることができます。
ALTER TABLEユーザーADD UNIQUE(電子メール)
次にチェックしてください。
他のメールの検証は以下のとおりです。私は電子メールの検証の完全なセットと思います。
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'),
...
); }
これだけです。ありがとう
カスタムバリデーション、短いとスイートコード。それがうまく働いて、これを試す -
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'),
);
}
書き込み、このカスタム関数を同じモデルに -
public function uniqueEmail($attribute, $params)
{
if($user = User::model()->exists('email=:email',array('email'=>$this->email)))
$this->addError($attribute, 'Email already exists!');
}
はYii2のために私は、ユーザークラスを使用する登録と呼ばれるモデルで、次の使用。あなたが使用しているあなたのモジュールごとに、あなたのファイルに従ってください:あなたはtargetClassを使用して、クラスのユーザー
ためNamepsaceを配置する必要があり
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.'],
];
}
は、以下のようにいくつかの変更を行います。
モデルに移動 - > open-> Users.php - >次のように行を変更します。
public function rules() { return [ [['User_Email'], 'unique'], [['User_Mobile'],'unique'], ]; }
今>ビュー - することをユーザーに行く - >開く_form.php->コードを書く今コントローラーに行く
<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>
下に述べたように - >開いているUsersController.php - >下記のコードを入力してください
ありがとうございました
- 1. 電子メールの存在チェックC#
- 2. 電子メールが存在するcodeigniter php
- 3. 電子メールサーバから電子メールにアクセスしてデータベースに保存する方法
- 4. 電子メールの検証をスキップする
- 5. jQueryフォームの検証 - 電子メールが同じかどうかをチェック
- 6. preg_match電子メールの検証。
- 7. HTML電子メールの検証?
- 8. PHP - 電子メールの検証
- 9. PHP電子メールIBM電子メールのみの検証(ワールドワイド)
- 10. javascriptで電子メールを検証する方法
- 11. 電子メールが存在するかどうかを徹底的にチェックする、NHibernate、LINQ
- 12. joomla 1.7の電子メールの価値を検証しますか?
- 13. 電子メールを送信する電子メールクライアントを検出する
- 14. Zimbra:電子メールで電子メールを送信するように修正する
- 15. 電子メールの本文内のhtml電子メールにヘッダーを設定する方法はありますか?
- 16. 電子メールからログアウトするには?
- 17. C++で電子メールの検証
- 18. jQueryでの電子メールの検証
- 19. ブラックベリーアプリケーションでの電子メールの検証
- 20. RegexでVB.NET電子メールの検証
- 21. createuserウィザードで電子メールの検証
- 22. 電子メールでトラックを保存する
- 23. 電子メールをmongodbに保存する
- 24. どのように私は電子メールのニュースレターに電子メールボタンを得ることができますか?
- 25. 電子メールの検証と長さチェックの適用
- 26. 電子メールがデータベースに存在するかどうかを確認していますか?
- 27. 電子メールアドレスがYMail、Gmailなどに存在するかどうかを検証する方法?
- 28. カスタム、それはカスタム電子メールが存在しないか(コールDAO方式と電子メールが存在する場合はtrueを返す)場合は、データベースにチェックする検証注釈 を休止状態にすることが可能だ場合、私は思っていた電子メールの有無
- 29. 電子メールが有効かどうかを確認する
- 30. Play Frameworkで電子メールのロジックをテストする方法