validate method
Validates a single request field using the supplied validation rules.
This method:
- loads form data from the request
- stores submitted values in session data for reuse
- runs validation for the target field
- flashes and stores validation errors in session state
Returns true when validation succeeds; otherwise returns false.
Example:
final valid = await request.validate(
field: 'password',
rules: [Rule.required, Rule.min(8)],
);
if (!valid) {
return request.redirectBack();
}
Implementation
Future<bool> validate({required String field, required List<dynamic> rules}) async {
final data = await form().all();
// for old('name')
// value="{{ session.data.<name>}}"
thisSession?.data.addAll(data);
final validator = _Validator(data);
await validator.validate(field, rules);
if (validator.errors.isNotEmpty) {
flash(key: "errors", message: "request validator errors");
thisSession?.errors.addAll(validator.errors);
return false;
}
return true;
}