私はYii2を学んでいます。私はYii基本プロジェクトに登録しようとしています。問題は、私のDB内のユーザー入力(私の場合は電子メールとURL)からのデータの存在を確認できず、すべてのユーザーに固有の電子メールを作成できないことです。Yii2を使用してデータベースにデータの存在を確認する方法は?
public function actionRegistration()
{
$model = new RegistrationForm();
if ($model->load(Yii::$app->request->post()) && $model->validate())
{
if (Users::findOne($model->email) !== null)//Doesn't work
$error_email = "That email is taken. Try another.";
if (Users::findOne($model->url) !== null)//Doesn't work
$error_url = "That url is taken. Try another.";
if (!(isset($error_email) || isset($error_url)))
{
$db = new Users();
$db->name = $model->name;
$db->email = $model->email;
$db->password = $model->password;
$db->url = $model->url;
$db->save();
}
else
{
return $this->render('registration',
[
'model' => $model,
'error_email' => $error_email,
'error_url' => $error_url,
]
);
}
}
else
{
return $this->render('registration',
[
'model' => $model,
]
);
}
}
クール!あなたはAJAXのバリデーションで同じことをする方法を説明できますか? – yutsura
そして、URLフィールドのための 'ユニークな'バリデータを作る方法は? – yutsura