私はいくつかのリンクは、Yii2のユニークな検証はAjaxの検証のみであると言います(しかし、私はそれに従うのがベストプラクティスではありません)。 Yii2yii2ユニークな検証(ノンajax)が動作しない
で私のモデル規則は
['name', 'unique', 'targetAttribute' => 'function_id','message' => 'name must be unique.'],
私のコントローラの機能は、通常のactionCreateされている()
誰もがこのためのソリューションを持っていますか?事前のおかげで
編集:アヤックス ok.Iがなかったため、私のコントローラのコードは今
$model = new JobFunctionRole();
$model->scenario = 'insert';
$jobFunction=JobFunction::find()->all();
if(Yii::$app->request->post()){
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
if ($model->save()) {
return $this->redirect(['view', 'id' => $model->job_function_role_id]);
}
} else {
return $this->render('create', [
'model' => $model,'jobFunction'=>$jobFunction
]);
}`
ですが、ページにはリダイレクトし、空白のページが表示されます。
togheterの両方をチェックしなければならないだろう。私はあなたを案内します。 –
ok.I、私のコントローラコードは今:私の質問の編集を参照してください。ありがとう! :) – Jackhad
Concectually、どのようにして一意性チェックにfunction_idを使用していますか? – scaisEdge