Javascript 不与 magento 中的客户注册表单验证绑定


Javascript doesn't bind with customer registration form validation in magento

我正在插入自定义确认电子邮件字段,但验证.js不起作用。我使用 magento 1.9.2.3,并且正在使用 registration.phtml 文件。如何在持久中创建新文件夹以进行验证?

a:5:{i:0;s:126:"Invalid method Mage_Customer_Block_Form_Register::addJs(Array
(
    [0] => persistent/customer/form/js/email/validation.js
)
)";i:1;s:1902:"#0 [internal function]: Varien_Object->__call('addJs', Array)
#1 [internal function]: Mage_Customer_Block_Form_Register->addJs('persistent/cust...')
#2 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Model'Layout.php(348): call_user_func_array(Array, Array)
#3 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Model'Layout.php(214): Mage_Core_Model_Layout->_generateAction(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#4 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Model'Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#5 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Controller'Varien'Action.php(344): Mage_Core_Model_Layout->generateBlocks()
#6 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Controller'Varien'Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#7 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Customer'controllers'AccountController.php(252): Mage_Core_Controller_Varien_Action->loadLayout()
#8 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Controller'Varien'Action.php(418): Mage_Customer_AccountController->createAction()
#9 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Controller'Varien'Router'Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('create')
#10 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Controller'Varien'Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#11 D:'xampp'htdocs'Magento-Project'MYDEMO'app'code'core'Mage'Core'Model'App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#12 D:'xampp'htdocs'Magento-Project'MYDEMO'app'Mage.php(683): Mage_Core_Model_App->run(Array)
#13 D:'xampp'htdocs'Magento-Project'MYDEMO'index.php(87): Mage::run('', 'store')
#14 {main}";s:3:"url";s:45:"/Magento-Project/MYDEMO/customer/account/create/";s:11:"script_name";s:30:"/Magento-Project/MYDEMO/index.php";s:4:"skin";s:7:"default";}

在Magento前端表单中添加确认电子邮件地址字段:

  1. 在/js/prototype/validation 中搜索以下代码.js

    return !(pass.length < 7); }],

在此代码之后添加以下代码:

['validate-cemail', 'Please make sure your emails match.', function(v) {
var conf = $$('.validate-cemail')[0];
var pass = false;
if ($('email')) {
pass = $('email');
}
var emailElements = $$('.validate-email');
for (var i = 0; i < emailElements.size(); i++) {
var emailElement = emailElements[i];
if (emailElement.up('form').id == conf.up('form').id) {
pass = emailElement;
}
}
if ($$('.validate-admin-email').size()) {
pass = $$('.validate-admin-email')[0];
}
return (pass.value == conf.value);
}],
  1. 然后在 phtml 页面中,您必须添加此

    <input type="text" name="confirm_email" id="confirm_email_address" class="input-text required-entry validate-cemail"/>