Remove Validation from Phone Number Field on Magento Checkout
Add to Favourites
|
If you’re looking to remove the validation of telephone number (or the whole field completely) from the Magento checkout process, look no further. I’ve read that quite a few people have had some difficultly in removing this field – not only because sometimes it is difficult to find the correct template, but moreso because Magento tries to validate this field when the Continue button is pressed on the checkout – so even if you manually remove the field, you cannot progress onto the next stage of the checkout!
Until now.
Simply navigate to the file app/code/core/mage/customer/model/address/abstract.php and find the phrase “getTelephone” and you should comment out the code around this area, like so:
1 2 3 | /*if (!Zend_Validate::is($this->getTelephone(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter telephone.');
}*/ |
Similarly, to remove the actual field itself, go to app/design/frontend/default/default/template/checkout/onepage/billing.phtml and app/design/frontend/default/default/template/customer/address/edit.phtml and remove the…
1 | <span class="required">*</span> |
…or just delete the whole field! If you are doing the former, it’ll look something like this:
1 2 3 4 5 6 7 8 9 10 | <li><div class="input-box">
<label for="billing:postcode"><?php echo $this->__('Zip/Postal Code') ?> <span class="required">*</span></label><br />
<input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->htmlEscape($this->getAddress()->getPostcode()) ?>" class="validate-zip-international required-entry input-text" /></div>
<div class="input-box">
<label for="billing:country_id"><?php echo $this->__('Country') ?> <span class="required">*</span></label><br />
<?php echo $this->getCountryHtmlSelect('billing') ?></div></li>
<li><div class="input-box">
<label for="billing:telephone"><?php echo $this->__('Telephone') ?> </label><br/>
<input type="text" name="billing[telephone]" value="<?php echo $this->htmlEscape($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text" id="billing:telephone" /></div>
</li> |
Good luck!
about the author
This article was written by Sam Davis on November 28, 2008.
Computing over a glass of Grenache Shiraz... again! Sam is the Editor of Blasted Thing. Contact Us |
related articles
comments
7 Responses to “Remove Validation from Phone Number Field on Magento Checkout”
Leave a Reply
![]() Make “Ship to This Address” Default in Magento Checkout |





























Very handy tip, thanks.
For non-Windoze users the paths above are not case sensitive so:
app/code/core/mage/customer/model/address/abstract.php
should be:
/app/code/core/Mage/Customer/Model/Address/Abstract.php
Thanks
Hi nice post – very useful, definitely got me on the right track.
One small thing – note that to make this work I also had to remove the class “required entry” from the actual address input field (the one just below the span mentioned here)…
Thanks , this saved me quite a bit of time!
How can we remove this validation by custom module? not changing in core code?
Thanks,
Vijay Thummar
Hi ,
I am using Zend Forms
I have dynamic validation.
Trying to remove dynamic validation using the function
$elements->removeValidator(‘ele_4af42ceac7810′);
but its failing, not able to remove the validation, above field is having ‘Email’ Validation
Plz help.
Thanks
mohammad Tareque
Thank you very much for the tip!