2016-07-28 32 views
1

我有一個TextField,我打算添加一個StringLengthValidator以驗證它如下。Vaadin StringLengthValidator allowNull參數不起作用

txtName.setRequired(false); 
    txtName.addValidator(new StringLengthValidator(
      "The title field must be at least 3 characters in length", 3, 75, true)); 

我想這個文本字段接受空/空值以及`長度

至少3個字符」,3,75

規則,所以我設置允許爲空參數爲真,但不起作用,我仍然需要輸入至少3個字符,最多75個字符的文本值,如何解決這個問題?任何幫助都會被提升。`

+0

該文檔提到allowNull已被棄用。你有沒有試過field required = false? https://vaadin.com/api/7.6.7/com/vaadin/data/validator/StringLengthValidator.html#StringLengthValidator(java.lang.String,%20java.lang.Integer,%20java.lang.Integer,%20boolean ) –

回答

1

我可以重現你的問題,這對我來說似乎是一個錯誤。儘管我在文本字段上額外設置了setNullRepresentation("")StringLengthValidator被調用,空字符串""被驗證,當然因爲""長度爲零而失敗。

要解決您的問題,您可以派生驗證器並覆蓋isValidValue以接受空字符串。或者寫你自己的驗證器。