我有一個系統,我想遷移到vaadin 8.我想請求協助如何基於正則表達式驗證TextField。我有代碼適用於Vaadin 7,但不是Vaadin 8,這可以進一步解釋我所要求的。下面的代碼示例將非常感謝。如何驗證Vaadin 8表單中的TextField
TextField txtFirstname = new TextField();
txtFirstname.setInputPrompt("Enter the firstname e.g. John or Jane");
txtFirstname.addValidator(new RegexpValidator("^[a-zA-Z _\\-'\" ]{3,25}$", "Invalid FirstName"));
txtFirstname.addBlurListener(new BlurListener() {
@Override
public void blur(BlurEvent event) {
//txtFirstname.validate();
if(txtFirstname.isValid()==false)
{
txtFirstname.setValidationVisible(true);
//txtFirstname.focus();
}
else if(txtFirstname.isValid()==true)
{
txtFirstname.setValidationVisible(false);
}
}
});
你可能會提供細節,你有錯誤嗎?警告?其他? – azro
上面的代碼在Vaadin 7中完美工作,但不能在Vaadin 8中工作。Vaadin 8中不存在isValid()方法。我基本上想知道如何在Vaadin 8中使用正則表達式驗證文本字段(我只知道如何正如我上面所指出的那樣爲Vaadin 7做)謝謝。 –
您是否查看了[documentation](https://vaadin.com/docs/-/part/framework/components/components-fields.html#validating-field-values)?它應該足夠開始。如果您有具體的問題,我們一定會幫助您。 –