2014-02-17 58 views
0

我有一個Java(Spring MVC)bean,它具有作爲bean屬性的字符串集合。我可以在Freemarker的像這樣使這些:如何使用jQuery驗證插件來驗證字符串集合?

[#list listOfStrings as aString] 
    <input name="${fieldName}[${aString_index}]" type="text" value="${(currentValue!'')?html}" maxlength="50"/> 
[/#list] 

這給了我一個系列命名爲輸入字段的「ASTRING [N]」,它正確地得到傳遞到對服務器端的列表。

這是一個單一的字符串字段,我最近搬到擁有一個集合。我如何修改我的jQuery驗證插件插件來驗證該字段的每個實例,並根據每個字段顯示驗證消息?

當前驗證東西使用的語法如下:

$('#myform').validate({ 
    rules: { 
     aString: { 
      minlength: 16 
     } 
    }, 
    messages: { 
     aString: { 
      minLength: "failed validation" 
     } 
    } 
}); 

我需要能夠引用串的集合(ASTRING [0],ASTRING [1] ...等),並呈現一個消息所以用戶知道哪些實例出錯。

回答

0

對於最小尺寸驗證,您不需要創建新規則,只需使用minlength = '16'標記字段並確保它們具有ID和NAME,並且它們具有標籤即可:

[#list listOfStrings as aString] 
    <label for="${fieldName}_${aString_index}">String: </label> 
    <input name="${fieldName}_${aString_index}" name="${fieldName}_${aString_index}" type="text" value="${(currentValue!'')?html}" maxlength="50" minlength="16"/> 
[/#list] 

然後,你打電話:

$("#myform").validate(); 
+0

感謝Renanlf的迴應。實際上我有一些規則,minlength就是我正在使用的語法的一個例子。 – DaFoot

0

我結束了自定義的方法和使用類應用它們。這意味着我必須添加一個

<label for="xyz" class="error" /> 

元素在HTML中的適當位置。

 $.validator.addMethod("codeRequired", $.validator.methods.required,"Please enter a code"); 
    $.validator.addMethod("codeMinLength", $.validator.methods.minlength, $.format("The code appears to be too short, Please enter a valid {0} digit code.")); 
    $.validator.addClassRules("code", { codeRequired: true, codeMinLength: 16 }); 

然後我添加一個class =「code」到我想要驗證的輸入字段。

這似乎工作,如果我發現此解決方案的問題,我會稍後更新。

相關問題