未來我有以下電子郵件規則是唯一的模式消息獨特的驗證不yii2
[['email'], 'unique'],
我不使用 Ajax來提交表單。 問題是我收到除了唯一規則以外的所有規則驗證消息。
那麼如何在客戶端做出獨特的規則工作呢?
我錯過了什麼?請幫助
未來我有以下電子郵件規則是唯一的模式消息獨特的驗證不yii2
[['email'], 'unique'],
我不使用 Ajax來提交表單。 問題是我收到除了唯一規則以外的所有規則驗證消息。
那麼如何在客戶端做出獨特的規則工作呢?
我錯過了什麼?請幫助
的唯一方法是enableAjaxValidation
在客戶端
要啓用一個輸入字段AJAX驗證,該字段的 enableAjaxValidation屬性配置爲真實,指定一個 唯一表單ID:
use yii\widgets\ActiveForm;
$form = ActiveForm::begin([
'id' => 'registration-form',
]);
echo $form->field($model, 'username', ['enableAjaxValidation' => true]);
// ...
ActiveForm::end();
您還需要準備服務器,以便它可以處理AJAX 驗證請求。這可以通過代碼片段,如 以下的控制器操作來實現:
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
When我添加這樣的代碼..客戶端驗證停止工作。提交它將我帶到服務器沒有任何驗證 – alwaysLearn
提供完整的PHP js html代碼,我們將幫助你 –
您必須在使用ajaxValidation之前覆蓋'clientValidateAttribute'函數。 鏈接:[http://www.yiiframework.com/doc-2.0/guide-input-validation.html#deferred-validation](http://www.yiiframework.com/doc-2.0/guide-input-validation的.html#延期確認) – ThanhPV
沒有AJAX驗證有沒有辦法在客戶端 –
@СеменихинМаксим檢查獨特的規則,但我不節約使用Ajax形式.. 我該怎麼辦 ?請建議 – alwaysLearn
試試這個'['email','unique','targetClass'=>'\ frontend \ models \ User','message'=>'此郵件地址已被佔用。'], – vishuB