0
我通過JSF創建了一個DB驅動窗體。根據DB值,一個字段可能是強制性的,並且可能有最大數量的字符。這些要求彼此獨立。一個字段可以是強制性的,沒有最大長度或者不是強制性的,但仍然具有最大長度。LengthValidator沒有爲非必需字段觸發
HtmlInputTextarea input = new HtmlInputTextarea();
if(validation != null && validation != ""){
LengthValidator lengthVal = new LengthValidator();
lengthVal.setMaximum(Integer.parseInt(validation));
input.setValidatorMessage("Please enter a valid number of characters");
input.addValidator(lengthVal);
}
驗證是允許的最大字符數。在日誌中,我可以看到對於必要的字段,驗證顯示正確的值。但是當我提交表單時,lengthvalidator只會在我認爲是強制性的字段上觸發。以下是必填字段代碼:
input.setRequired(true);
input.setRequiredMessage("Please enter a value for this field.");
input.setImmediate(true);
HtmlMessage message = new HtmlMessage();
message.setFor(inputId);
message.setStyleClass("errorMessage");
div.getChildren().add(input);
div.getChildren().add(message);
任何幫助表示讚賞。