アプリケーションにモデル駆動型の検証を実装しましたが、次の警告が表示されて検証が機能しません。
警告: 訪問したオブジェクトは null です。VisitorValidator は検証を適切に処理できません。VisitorValidator が正しく機能するためには、訪問したオブジェクトが null でないことを確認してください
理由はありますか?
これが私のアクションクラスです。
package actions;
import beans.CarListing;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class ListCarAction extends ActionSupport implements ModelDriven{
public String execute() {
System.out.println("ListCarAction x" + carListing.getUrl());
return SUCCESS;
}
private CarListing carListing = new CarListing();
public Object getModel() {
return carListing;
}
}
ここに私のListCarAction-validation.xmlがあります
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="model">
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message>Car Listing: </message>
</field-validator>
</field>
</validators>
そして、これが CarListing-validation.xml という名前の Bean バリデーター XML です。
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="url">
<field-validator type="requiredstring">
<message>URL is required field.</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">1</param>
<param name="minLength">30</param>
<message>The URL must be at least 1-30 characters.</message>
</field-validator>
</field>
</validators>