How to set validation on checkout with minimum qty magento
Put below code in your module/any module config.xml file after <models> block
<global>
<events>
<controller_action_predispatch_checkout_onepage_index>
<observers>
<spirit_cms_validate_checkout>
<class>Setblue_Banner_Model_Observer</class>
<method>validateCheckout</method>
</spirit_cms_validate_checkout>
</observers>
</controller_action_predispatch_checkout_onepage_index>
</events>
</global>
Next
we need to create observer file to read this code. Create Observer.php
in /yourmodule/Model/Observer.php and put the below code :
public function validateCheckout($observer)
{
// Ensure we only observe once. $oObserver
if( Mage::registry( 'restrict_checkout_flag' ) )
{
return $this;
}
else
{
$oQuote = Mage::getSingleton( 'checkout/cart' )->getQuote();
$oCartItems = $oQuote->getAllItems();
$iTotalAmount = $oQuote->getGrandTotal();
$iGroupId = $oQuote->getCustomerGroupId();
$iTotalQty = 0;
foreach( $oCartItems as $oCartItem )
{
$iTotalQty = $iTotalQty + $oCartItem->getQty();
}
if($iGroupId == '2'){
if( $iTotalQty < 15 )
{
$oSession = Mage::getSingleton( 'checkout/session' );
$oSession->addError( 'Please add at least 15 items to your cart.' );
Mage::app()->getResponse()->setRedirect( Mage::getUrl( 'checkout/cart' ) );
}
Mage::register( 'restrict_checkout_flag', 1, TRUE );
}
}
}