第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Yii2 - ActiveForm 和 afterValidate 事件

Yii2 - ActiveForm 和 afterValidate 事件

PHP
MMMHUHU 2023-07-15 16:48:16
我正在將 ActiveForm 與該afterValidate()事件一起使用,但目前afterValidate()會(huì)在任何驗(yàn)證事件上觸發(fā)。我如何區(qū)分事件validateOnSubmit和validateOnBlur?validateOnChange基本上,我只希望我的afterValidate()函數(shù)在提交時(shí)觸發(fā)。這是我的代碼:PHP:<?php $form = ActiveForm::begin([    'id' => 'register-form',    'options' => [        'class' => 'validate-form',    ],    'enableClientValidation' => true,    'enableAjaxValidation' => false,    'validateOnSubmit' => true,    'validateOnBlur' => true,    'validateOnChange' => true,]); ?>JS:// JS afterValidate function$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {    $('.error-popup').show();    return false;});HTML:<div class="error-popup">Please review the errors in the form below.</div>正如您在上面的函數(shù)中看到的afterValidate(),如果存在驗(yàn)證錯(cuò)誤,則會(huì)顯示錯(cuò)誤彈出窗口。但是,我只希望在用戶提交表單時(shí)出現(xiàn)任何驗(yàn)證錯(cuò)誤時(shí)出現(xiàn)此錯(cuò)誤彈出窗口。如果模糊/更改時(shí)出現(xiàn)驗(yàn)證錯(cuò)誤,則應(yīng)進(jìn)行正常的內(nèi)聯(lián)驗(yàn)證,而不會(huì)彈出任何錯(cuò)誤。根據(jù)我的理解,beforeSubmit只有在驗(yàn)證通過時(shí)才會(huì)觸發(fā)事件。
查看完整描述

3 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

Yii 的活動(dòng)表單 JS 將一些信息保存到y(tǒng)iiActiveForm數(shù)據(jù)屬性中。您可以使用某些submitting屬性來確定表單在提交之前是否處于驗(yàn)證狀態(tài)。


$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {

    let data = $('.validate-form').data('yiiActiveForm');

    //check if we are in submission process and if there are any errors

    if (data.submitting && errorAttributes.length > 0) {

        $('.error-popup').show();

    }

});


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

您應(yīng)該在 afterValidate 之后找到 has-error 類并顯示彈出窗口嘗試以下代碼


$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {

        if ($('.validate-form').find('.has-error').length) {

            $('.error-popup').show();

        }

  });


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以通過以下方式解決此問題:


$("#register-form").on("beforeSubmit", function(event){

    $(this).yiiActiveForm('validateAttribute', 'contactform-phone');

    $(this).yiiActiveForm('validateAttribute', 'contactform-email');

    if ($(this).find('.has-error').length) {

        ...

    }

    ...

    return false;

});

提交按鈕會(huì)觸發(fā)beforeSubmit事件,該事件又會(huì)觸發(fā)您需要的任何字段的驗(yàn)證。如果驗(yàn)證結(jié)果錯(cuò)誤,您可以執(zhí)行與顯示錯(cuò)誤消息相關(guān)的 JS 邏輯。


查看完整回答
反對(duì) 回復(fù) 2023-07-15
  • 3 回答
  • 0 關(guān)注
  • 199 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)