GithubHelp home page GithubHelp logo

Comments (5)

thetutlage avatar thetutlage commented on September 27, 2024 1

Making the validator implement an interface doesn't sound intuitive to me. However, we can document that the messages property can use the CustomMessages type.

from v5-docs.

thetutlage avatar thetutlage commented on September 27, 2024

If you put the callback right within the messages object, you will get types automatically, without being explicit about them.

messages: {
  '*': (field, rule, arrayExpressionPointer, options) {

  }
}

With that being said. It is technically valid to extract the method to a different file or maybe at the top in the same file. However, documentation cannot show all the styles, as it makes the docs verbose.

from v5-docs.

brkn avatar brkn commented on September 27, 2024

But the validator classes doesn't have this type information, not in the documentation either. I felt the need to search the codebase itself instead of reading from the document, is there another way I can help to improve this experience?

Screen Shot 2022-03-14 at 15 44 00

from v5-docs.

thetutlage avatar thetutlage commented on September 27, 2024

Can you please share how this can be improved? Or maybe just send a PR with the improvement :)

from v5-docs.

brkn avatar brkn commented on September 27, 2024

I can think 2 solutions for the class validators

  1. Import the CustomMessages interface at the example code in the validator classes documentation
import { schema, CustomMessages } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'

export default class CreateUserValidator {
  constructor (protected ctx: HttpContextContract) {
  }

  public schema = schema.create({
  })

  public messages: CustomMessages = {}
}
  1. Introduce an interface for validator class itself, then change the example to have implements Validator
export default class CreateUserValidator implements Validator{
// ...
}

from v5-docs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.