Auf einer benutzerdefinierten Frontend-Seite habe ich ein Formular, in dem ich die js-Validierung von magento verwende, um Eingaben zu validieren: Name, E-Mail-Beschreibung usw. Wenn das Formular gesendet wird, wird die Validierung ausgelöst und funktioniert ordnungsgemäß. Ich frage mich, ob es eine Möglichkeit gibt, die js-Validierung von magento manuell aufzurufen, ohne dass eine "Senden" -Aktion erforderlich ist.
Hier ist, was ich verwende, um die Validierung anzuwenden
var dataForm = $('#form-validate');
var ignore = null;
dataForm.mage('validation', {
ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden'
}).find('input:text').attr('autocomplete', 'off');
und ich suche
$("#form-validate").mageValidate(); // validate form fields
Lassen Sie mich wissen, wenn Sie weitere Details benötigen.
magento2
javascript
frontend
form-validation
Xenocide8998
quelle
quelle
mage/validation
$('#form-validate').validation();
Antworten:
konnte dies durch Bezugnahme herausfinden:
module-checkout-agreements/view/frontend/web/js/model/agreement-validator.js
Nach dem Einfügen müssen
mage/validation
Sie ein ArgumentisValid
an mage.validation übergeben, um die Validierung aufzurufenVollständiger Code sieht aus wie
Sie können das Argument auch durch ersetzen
clearError
, um Validierungsfehlermeldungen zu entfernenquelle
data-mage-init='{"validation":{}}'
dem Formular ein Attribut hinzuzufügen. Überprüfen Sie außerdem, ob Ihre Formularauswahl korrekt ist.Sie können dies versuchen:
Hoffe das kann dir helfen!
quelle