[CUBBY-160] バリデーションにエラーがあったときにValidationRuleごとに挙動を変えれるようにし、404などのSendErrorを簡単に実行できるようになりました。 Created: 2008-08-12  Updated: 2008-08-17  Resolved: 2008-08-12

Status: Closed
Project: Cubby
Component/s: Core
Affects Version/s: None
Fix Version/s: 1.1.0-rc2

Type: New Feature Priority: Major
Reporter: baba Assignee: baba
Resolution: Fixed Votes: 0
Labels: None


 Description   

バリデーションエラー時に404等を簡単に返すために例外を設定できるように変更します。

ValidationExcetionにActionResultを引数にもつコンストラクタを追加します。
これはエラーページへのフォワードする代わりに指定されたActionResultを実行します。
ValidationRule#applyなどからスローしてください。
このときDefaultValidationRules#failは呼び出されません。

また、@Validation#errorPageは不要な場合もあるので必須から任意に変更します。
エラーページへの遷移時に空だった場合は例外を投げます。



 Comments   
Comment by agata [ 2008-08-17 ]

一例として以下のように404を簡単に返せるようになっています。

public class ExistEntityValidationRule implements ValidationRule {
	@Override	
	public void apply(Map<String, Object[]> params, Object form,
			ActionErrors errors) throws ValidationException {
		if (!exist()) {
			throw new ValidationException(new SendError(404));
		}
	}
        ...
}
Comment by baba [ 2008-08-12 ]

r1141 で対応しました

Generated at Fri Apr 19 10:51:45 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.