js/prototype/validation.js
Validation.addAllThese([
['validate-select', 'Please select an option.', function(v) {
return ((v != "none") && (v != null) && (v.length != 0));
}],
而validation框架实际上是通过表单的class来进行验证的。
class="required validate-alphanum" 是validation内建的校验规则名称。当执行new Validation('test', {immediate : true}),Field失去焦点或者执行表单提交动作时,该表单下的所有内建类校验名的校验规则将被触发。
所以,我们在进行校验的时候,只需要将表单元素的class里面的值去掉或者修改即可。
例如onepage中billing部分的State/Province 部分,如果是下拉框则必须要填写。
我们将这个部分的必选项改为可选项
/app/design/frontend/default/default/template/checkout/onepage/
billing.phtml
shipping.phtml
一:
将其中的:<span class="required">*</span>去掉
将region_id的class="validate-select"去掉
二:
修改控制器:
app/code/core/Mage/Customer/Model/Address/Abstract.php
/*
if ($this->getCountryModel()->getRegionCollection()->getSize()
&& !Zend_Validate::is($this->getRegionId(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter state/province.');
}
*/