我正在为我的项目使用 struts2。现在我有一个用于获取业务详细信息的业务信息填写表。在表单中,我有一些基本项目,例如电子邮件、用户名、密码、确认密码和 Facebook twitter 链接(FB 和 tweeter 链接是可选的,但如果用户输入我想检查它们是否真实)对于基本项目,我正在使用 xml 文件验证作为:
<validators>
<field name="companyname">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Company name is required.</message>
</field-validator>
</field>
<field name="fblink">
<field-validator type="url">
<message>Please enter a valid url</message>
</field-validator>
</field>
<field name="tweetlink">
<field-validator type="url">
<message>Please enter a valid url</message>
</field-validator>
</field>
</validators>
& 如果用户输入 Facebook 或 twitter url 的值,我正在 Action 类的 Validate() 方法中编写验证,以检查这些是否真实(意味着 HTTP_STATUS_CODE=200):
public void validate()
{
if(getFblink()!=null && !getFblink().isEmpty())
{
if(URLValidation.validate(getFblink())== false)
{
addFieldError("fblink", getText("Enter valid facebook page link"));
}
}
if(getTweetlink()!=null && !getTweetlink().isEmpty())
{
if(URLValidation.validate(getTweetlink())== false)
{
addFieldError("tweetlink", getText("Enter valid tweeter link"));
}
}
}
这里 URLValidation 是我的类,它包含静态方法 validate,它采用 URL 并使用我正在点击的 Httpclient 库并检查其状态代码。根据它的返回值,即布尔值,我正在设置错误消息。
它的工作。但我想知道我的方法是否正确?我也想使用 shor-circcuit 验证,所以我如何在 xml & validate() 验证代码中进行通信?