8.2 Validator

2022-07-11 10:34 更新

Validator 自身實現(xiàn)了 Interceptor 接口,所以它也是一個攔截器,配置方式與攔截器完全一 樣。以下是 Validator 示例:

public class LoginValidator extends Validator {
protected void validate(Controller c) { validateRequiredString("name", "nameMsg", "請輸入用戶名"); validateRequiredString("pass", "passMsg", "請輸入密碼");
}
protected void handleError(Controller c) { c.keepPara("name");
c.render("login.html");
}
}

protected void validator(Controller c)方法中可以調(diào)用 validateXxx(…)系列方法進行后端校 驗,protected void handleError(Controller c)方法中可以調(diào)用 c.keepPara(…)方法將提交的值再傳 回頁面以便保持原先輸入的值,還可以調(diào)用 c.render(…) 方法來返回相應(yīng)的頁面。 注意 handleError(Controller c)只有在校驗失敗時才會調(diào)用。


以上代碼 handleError 方法中的 keepXxx 方法用于將頁面表單中的數(shù)據(jù)保持住并傳遞回頁, 以便于用戶無需再重復(fù)輸入已經(jīng)通過驗證的表單域,如果傳遞過來的是 model 對象,可以使用 keepModel 方法來保持住用戶輸入過的數(shù)據(jù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號