2014-12-09 180 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'屬性。它阻止驗證。刪除重複驗證後,完美無瑕。

相關問題