1. 程式人生 > >Errors及相關類

Errors及相關類

例如 dpa property 綁定 一個 而不是 關聯 所有 適用於

技術分享圖片

  1.接口Errors:存儲和公開關於特定對象的數據綁定和驗證錯誤的信息。字段名可以是目標對象的屬性或嵌套字段的子對象。支持通過setNestedPath(String)進行子樹導航:例如,AddressValidator驗證“address”,但不知道這是customer的子對象。Errors是單線程的。

    a.String NESTED_PATH_SEPARATOR = PropertyAccessor.NESTED_PROPERTY_SEPARATOR:嵌套路徑中路徑元素之間的分隔符,例如在“customer.name”或“customer.address.street”中。

    b.void setNestedPath(String nestedPath):允許更改上下文,以便標準驗證器能夠驗證子樹。Reject調用將給定的路徑放在字段名的前面。例如,一個address validator可以驗證customer的子對象“address。參數nestedPath:對象內的嵌套路徑。“address”(默認為“”,null也是可以接受的)。可以以點結尾:“address”和“address.”都是有效的。
    c.String getNestedPath():返回此Errors對象的當前嵌套路徑。返回帶有點的嵌套路徑,即“address.”,方便建立連結路徑。默認值是一個空字符串。

    d.void pushNestedPath(String subPath):將給定的子路徑推入嵌套路徑堆棧。popNestedPath()調用將在相應的pushNestedPath(String)調用之前重置原始嵌套路徑。使用嵌套路徑堆棧可以為子對象設置臨時嵌套路徑,而不必擔心臨時路徑保持器。例如:當前路徑"spouse.", pushNestedPath("child")->結果路徑"spouse.child.";popNestedPath() ->“spouse.”。參數subPath:要推入嵌套路徑堆棧的子路徑。

    e.void popNestedPath() throws IllegalStateException:從嵌套路徑堆棧中彈出前一個嵌套路徑。

    f.void reject(String errorCode)、void reject(String errorCode, String defaultMessage)、void reject(String errorCode, Object[] errorArgs, String defaultMessage):使用給定的錯誤描述為整個目標對象註冊一個全局錯誤。

      errorCode:錯誤代碼,可解釋為消息鍵

      errorArgs:錯誤參數,用於通過MessageFormat綁定參數(可以為空)

      defaultMessage:返回默認消息

    g.void rejectValue(String field, String errorCode)、void rejectValue(String field, String errorCode, String defaultMessage)、void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage):使用給定的錯誤描述為當前對象的指定字段註冊一個field錯誤(根據當前嵌套路徑(如果有的話))。字段名可以是null或空字符串,以指示當前對象本身,而不是其字段。這可能導致嵌套對象圖中相應的字段錯誤,如果當前對象是頂部對象,則可能導致全局錯誤。

      field:字段名(可以是null或空字符串)

      errorCode:錯誤代碼,可解釋為消息鍵

      errorArgs:錯誤參數,用於通過MessageFormat綁定參數(可以為空)

      defaultMessage:返回默認消息

    h.void addAllErrors(Errors errors):將給定錯誤實例中的所有錯誤添加到此錯誤實例。這是一個便利方法,用於避免將一個錯誤實例合並到另一個錯誤實例的重復reject(..)調用。請註意,傳入的錯誤實例應該引用相同的目標對象,或者至少包含適用於此錯誤實例的目標對象的兼容錯誤。

    i.boolean hasErrors():如果有任何錯誤,返回。

    j.int getErrorCount():返回錯誤總數

    k.List<ObjectError> getAllErrors():獲取所有錯誤,包括全局錯誤和字段錯誤。

    l.boolean hasGlobalErrors():是否存在全局錯誤?

    m.int getGlobalErrorCount():全局錯誤個數

    n.List<ObjectError> getGlobalErrors()獲取所有全局錯誤

    o.ObjectError getGlobalError():獲取第一個全局錯誤

    p.boolean hasFieldErrors():是否有字段錯誤

    q.int getFieldErrorCount():返回與字段關聯的錯誤數。

    r.List<FieldError> getFieldErrors():獲取與字段關聯的所有錯誤。

    s.FieldError getFieldError():獲取與字段關聯的第一個錯誤(如果有的話)。

    t.boolean hasFieldErrors(String field):是否存在與給定字段相關的錯誤

    

Errors及相關類