2014-12-09 122 views
0

我在努力寻找我在这个过程中做错了什么,我恳请您提出建议。目标是:为产品评论提供最低文字。在之前的问题中,我收到了使用jQuery的建议,但环顾四周似乎可能会导致一些冲突。所以我更喜欢使用Magento表单验证,以提高速度和兼容性。我到现在为止所做的是: 查看validation.js文件我发现有一个验证可以实现。使用此:magento产品评论验证

['validate-length', 'Text length does not satisfy specified text range.', function (v, elm) { 
       var reMax = new RegExp(/^maximum-length-[0-9]+$/); 
       var reMin = new RegExp(/^minimum-length-[0-9]+$/); 
       var result = true; 
       $w(elm.className).each(function(name, index) { 
        if (name.match(reMax) && result) { 
         var length = name.split('-')[2]; 
         result = (v.length <= length); 
        } 
        if (name.match(reMin) && result && !Validation.get('IsEmpty').test(v)) { 
         var length = name.split('-')[2]; 
         result = (v.length >= length); 
        } 
       }); 
       return result; 
      }], 

我修改了文件“form.phtml”在

app/design/frontend/default/MYTEMPLATE/template/review 

类=“需要进入”后加入班级,所以基本上,现在审查的详情文本区域看起来像:

<li> 
    <label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label> 
    <div class="input-box"> 
    <textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry validate-length maximum-length-600 minimum-length-150"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea> 
    </div> 
</li> 

发生了什么是....什么都没有。就好像我没有做任何改变一样。我也尝试添加自定义类在validation.js文件,使用此代码:

['validate-revminlength', 'Minimum 150 characters are needed.', function (v, elm) { 

if(v.length < 150) 
{ 
return false; 
} 
else 
{ 
return true; 
} 
}], 

,然后添加类“验证-revminlength”只是“要求进入”后。根本没有变化。即使有2封信,评论仍然发送。奇怪的行为也是,如果我尝试删除“required-entry”类或者添加与“test”不同的东西,它似乎仍然可以像没有任何变化一样工作。我错过了什么?我应该检查什么?

回答

0

可能与您无关,但这可能对其他人有帮助。 我有类似的任务和荣誉验证不适用于审查表格。最后我发现原因是简单重复的'id'值。即还添加了'a'元素,它具有与'form'相同的'id'属性。它阻止验证。删除重复验证后,完美无瑕。

相关问题