ValidationWebParts Module

WebPart helpers for input validation

Types

Type Description

FormFieldValidator<'T>

Validate multiple form fields

Functions and values

Function or value Description

getFormMap req

Full Usage: getFormMap req

Parameters:
Returns: Map<string, string>

Extract form data as a map

req : HttpRequest
Returns: Map<string, string>

getQueryMap req

Full Usage: getQueryMap req

Parameters:
Returns: Map<string, string>

Extract query parameters as a map

req : HttpRequest
Returns: Map<string, string>

getValidated key ctx

Full Usage: getValidated key ctx

Parameters:
Returns: 'T option

Get a validated value from user state

key : string
ctx : HttpContext
Returns: 'T option

middleware key validator ctx

Full Usage: middleware key validator ctx

Parameters:
Returns: Async<HttpContext option>

Create a middleware that validates and stores result in userState

key : string
validator : HttpRequest -> ValidationResult<'T>
ctx : HttpContext
Returns: Async<HttpContext option>

validateAll validators ctx

Full Usage: validateAll validators ctx

Parameters:
Returns: Async<HttpContext option>

Combine multiple validation middlewares

validators : (string * (HttpRequest -> ValidationResult<obj>)) list
ctx : HttpContext
Returns: Async<HttpContext option>

validateForm fieldValidators constructor ctx

Full Usage: validateForm fieldValidators constructor ctx

Parameters:
    fieldValidators : (string * Validator<string, 'T>) list
    constructor : obj list -> 'U
    ctx : HttpContext

Returns: Async<HttpContext option>

Build a form validator that validates multiple fields and constructs a result

fieldValidators : (string * Validator<string, 'T>) list
constructor : obj list -> 'U
ctx : HttpContext
Returns: Async<HttpContext option>

validateFormField fieldName validator ctx

Full Usage: validateFormField fieldName validator ctx

Parameters:
Returns: Async<HttpContext option>

Extract and validate a form field

fieldName : string
validator : Validator<string, 'T>
ctx : HttpContext
Returns: Async<HttpContext option>

validateHeader headerName validator ctx

Full Usage: validateHeader headerName validator ctx

Parameters:
Returns: Async<HttpContext option>

Extract and validate a header

headerName : string
validator : Validator<string, 'T>
ctx : HttpContext
Returns: Async<HttpContext option>

validateMap validators data

Full Usage: validateMap validators data

Parameters:
    validators : Map<string, Validator<string, obj>>
    data : Map<string, string>

Returns: ValidationResult<Map<string, obj>>

Validate a map of fields

validators : Map<string, Validator<string, obj>>
data : Map<string, string>
Returns: ValidationResult<Map<string, obj>>

validateQueryParam paramName validator ctx

Full Usage: validateQueryParam paramName validator ctx

Parameters:
Returns: Async<HttpContext option>

Extract and validate a query parameter

paramName : string
validator : Validator<string, 'T>
ctx : HttpContext
Returns: Async<HttpContext option>

validateRequest validator onValid onInvalid ctx

Full Usage: validateRequest validator onValid onInvalid ctx

Parameters:
Returns: Async<HttpContext option>

Validate request with custom validator and error handler

validator : HttpRequest -> ValidationResult<'T>
onValid : 'T -> WebPart
onInvalid : ValidationError list -> WebPart
ctx : HttpContext
Returns: Async<HttpContext option>

validationErrorsToJson errors

Full Usage: validationErrorsToJson errors

Parameters:
Returns: string

Format validation errors as JSON

errors : ValidationError list
Returns: string