zod_validation 1.0.5 copy "zod_validation: ^1.0.5" to clipboard
zod_validation: ^1.0.5 copied to clipboard

This is a package for validating data.

Zod #

Usage with Flutter #

TextFormField(
  validator: Zod().required().min(3).email().build,
)

All Validations #

password
email
isEmails
min
max
equals
type<T>
required
cpf
cpnj
cpfCnpj
isDate
optional
custom

Usage with Shelf #

// register user route

@Route.post('/register')
Future<Response> register (Request req) async {
  final data = jsonDecode(await req.readAsString());
  
  final requiredParams = {
    'email': Zod().email(),
    'password': Zod().password(),
    'data': {
      'user_name': Zod().min(8).max(20)
      'platform': Zod().type<String>(),
    },
  };

  final zod = Zod.validate(data: data, params: requiredParams);
  if (zod.isNotValid) {
    return Response(400, body: jsonEncode({
      'message': 'invalid params',
      'params': zod.result
    }))
  }

  // zod.result is a Map that contains the invalid parameters key, and a message
  
  // example: 
  // {
  //    'data': {
  //      'user_name': 'At least 8 characters'
  //    }
  // }

  ...
}


How change locale #

Zod(localeZod: LocaleEN()).required().build,

// or

Zod.zodLocaleInstance = LocaleEN() // apply in all system

Create your Locale #

class MyLocale implements ILocaleZod {
  // implement the required methods in ILocaleZod
}

Zod(localeZod: MyLocale()).required().build

Feito com ❤️ by Weliton Sousa

13
likes
150
pub points
61%
popularity

Publisher

unverified uploader

This is a package for validating data.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on zod_validation