0

我的代码中有以下几行。我正在以 JSP 形式验证验证码。我不明白FieldError对象中传递的所有参数的含义。

if (!reCaptchaResponse.isValid()) {
    FieldError fieldError = new FieldError("CaptchaObj", "captcha",
            uresponse, false, new String[] { "badCptcha.CaptchaObj.captcha" },
            null, "Please, Try Again ");
    result.addError(fieldError);
}

HERE 结果变量的类型为BindingResult

我想要对象构造函数中每个参数的确切含义,FieldError尤其是构造函数中的code 参数类型String

4

1 回答 1

3

我建议阅读 API 文档以了解此处发现的字段错误。

它为此构造函数提到了以下参数:

Parameters:
    objectName - the name of the affected object
    field - the affected field of the object
    rejectedValue - the rejected field value
    bindingFailure - whether this error represents a binding failure (like a type mismatch); else, it is a validation failure
    codes - the codes to be used to resolve this message
    arguments - the array of arguments to be used to resolve this message
    defaultMessage - the default message to be used to resolve this message

最重要的参数之一是代码参数,它包含将在您的消息源中搜索的代码。如果找到与此代码匹配的消息,将显示。消息源可以接受参数,因此消息源可以包含如下条目:

typeMismatch.startDate={0} is an invalid date. Use format DD/MM/YYYY.

在这种情况下,代码将是typeMismatch.startDate,与此代码对应的消息将显示第一个参数,后跟消息。这{0}条消息表明它应该显示第一个参数。这些参数由构造函数中的第 6 个参数提供,在您的示例中为 null。

于 2013-01-23T09:59:15.457 回答