簡體   English   中英

如何使用jQuery驗證插件來驗證字符串集合?

[英]How do I use jQuery validation plugin to validation a collection of strings?

我有一個Java(Spring MVC)bean,它具有一個字符串集合作為bean屬性。 我可以在Freemarker中將它們渲染成這樣:

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

這給了我一系列名為“ aString [n]”的輸入字段,這些輸入字段正確地傳遞到了服務器端的List中。

這是一個String字段,我最近移到了一個集合。 如何修改我的jQuery驗證插件插件以驗證該字段的每個實例並顯示適合每個字段的驗證消息?

當前的驗證內容使用如下語法:

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

我需要能夠引用字符串的集合(aString [0],aString [1] ....等)並呈現一條消息,以便用戶知道那些實例中有哪些是錯誤的。

對於最小大小的驗證,您無需創建新規則,只需將您的字段標記為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();

我最終定義了自定義方法,並使用一個類來應用它們。 這意味着我必須添加一個

<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”。

這似乎可行,如果我發現此解決方案有問題,請稍后再更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM