php – Magento服务器端表单验证
发布时间:2020-12-13 17:38:45 所属栏目:PHP教程 来源:网络整理
导读:magento中是否有任何服务器端表单验证?我已经创建了一个from和使用magentos表单验证但如果有人禁用 javascipt并输入可能有害的内容,它将无法工作.如果没有内置类.有人可以指点我如何实现服务器端表单验证作为备份.这是我的表格代码 div style="border:0px s
magento中是否有任何服务器端表单验证?我已经创建了一个from和使用magentos表单验证但如果有人禁用
javascipt并输入可能有害的内容,它将无法工作.如果没有内置类.有人可以指点我如何实现服务器端表单验证作为备份.这是我的表格代码
<div style="border:0px solid red; margin:0px auto;"> <?php $_product = $this->getProduct(); ?> <form id="test" action="<?php echo Mage::getUrl('pricenotify/pricenotify/db') ?>" method="post"> <label for="price">Price *</label> <input type="text" id="price" name="price" value="" class="required-entry validate-number"/><br /> <label for="email">Email Address *</label> <input type="text" id="email" name="email" value="" class="required-entry validate-email"/> <input type="hidden" id="id" name="id" value="<?php echo $_product->getId() ?>" /> <input type="hidden" id="propri" name="propri" value="<?php echo $_product->getPrice() ?>" /> <input type="submit" name="submit" value="<?php echo $this->__('Submit') ?>" onclick="if(customForm.validator && customForm.validator.validate()) this.form.request(); return false;" /> </form> <script type="text/javascript"> //< ![CDATA[ var customForm = new VarienForm('test',false); //]]> </script> 解决方法
如果您想保持简单,可以在控制器中进行验证
try { $postObject = new Varien_Object(); $postObject->setData($post); $error = false; if (!Zend_Validate::is($postObject->getPrice(),'NotEmpty')) { $error = true; } if (!Zend_Validate::is($postObject->getEmail(),'EmailAddress')) { $error = true; } if ($error) { throw new Exception(); } //save to db return; } catch (Exception $e) { Mage::getSingleton('customer/session')->addError(Mage::helper('pricenotify')->__('Unable to submit your request. Please,try again later')); $this->_redirect('/'); return; } Zend_Validate:http://files.zend.com/help/Zend-Framework/zend.validate.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |