私は、JSF 2.0の時点で、valueパラメータがnullの条件を適切に処理するためにバリデータ・ルーチンが必要であると読んでいます。 selectBooleanCheckbox:バリデーションで実際にnullをチェックする必要はありますか?
public void validateTandC(FacesContext context, UIComponent source, Object value) {
if (value == null || !(value instanceof Boolean)) {
FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Terms and Conditions Not Accepted", "Value Not Present");
throw new ValidatorException(fm);
}
if (((Boolean) value) != true) {
FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Terms and Condistions Not Accepted",
"You must check the box that confirms you accept the Terms and Condtions ");
throw new ValidatorException(fm);
}
}
これは、このメソッドはONLY関連するページにのみ単一hから参照されることを考えると、かなり退屈な構造である。だから、僕はこのようになります。このvalidateメソッドを書きました。その場合、最初のはのステートメントが真実に解決された場合、なぜですか?私はそれを持っていない場合、NPEは現実に起こるだろうか? value
をnull
場合
関連:[必須チェックボックスの検証](http://balusc.blogspot.com/2008/09/validate-required-checkbox.html)。 – BalusC