         let passwordResetInfo = try U.extractPasswordResetInfo(from: request)
 
         // prepare common response
-        let fieldset = try passwordResetInfo.makeNode(in: ValidationContext(mode: .all))
+        let fieldset = try passwordResetInfo.makeFieldset(inValidationMode: .all)
         let redirectToForm = Response(redirect: formPath).setFieldset(fieldset)
 
         // ensure form values are valid

        viewRenderer: ViewRenderer
    ) throws -> ResponseRepresentable {
        let fieldset = try request.fieldset ??
            U.extractPasswordResetInfo(from: request).makeNode(in: ValidationContext(mode: .none))

        return try viewRenderer.make(
            pathToFormView,

import Vapor

public protocol PasswordResetInfoType:
    FieldsetRepresentable,
    ValidationModeValidatable
{
    var email: String? { get }
