csrf method

Field csrf()

Implementation

Field csrf() {
  var nameCsrf = 'csrf_token_$name';
  var csrfToken = _generateCsrfToken(nameCsrf);
  return Field(
    csrfTokenName,
    validators: [
      FieldValidator.requiredField(),
      (value) async {
        if (!isSubmitted()) {
          return FieldValidateResult(
            success: true,
            error: '',
          );
        }
        var res = _checkCsrf(
          value: rq.get<String>(csrfTokenName, def: ''),
          name: nameCsrf,
        );
        return FieldValidateResult(
          success: res,
          error: res ? '' : 'Invalid CSRF token. Please try again.',
        );
      },
    ],
    initValue: csrfToken,
  );
}